pyqt Snap строит успешно, не запускается

Я создал оснастку, используя плагин python3. Он должен открыть приложение PyQt5. Привязка создается без проблем, но после ее установки вызов установленного сценария python в командной строке завершается с ошибкой, приведенной ниже.

My snapcraft.yaml

name: pyqthelloworld
version: 0.1.0
summary: pyqt hello world
description: |
 a pyqt5 python3 hello world test

confinement: strict

apps:
  pyqthelloworld:
    command: pyqthelloworld

parts:
  pyqthelloworld:
    plugin: python3
    source: git://github.com/ericoporto/pyqthelloworld
    source-type: git
    stage-packages:
      - python3-pyqt5
      - libc-bin
      - locales

Я собрал и установил, используя команды ниже

snapcraft stage
snapcraft snap
sudo snap install pyqthelloworld_0.1.0_amd64.snap

В командной строке

$ pyqthelloworld

Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

Current thread 0x00007fb8fc0ff700 (most recent call first):
Aborted (core dumped)

В чем дело? И как отлаживать подобные ошибки в моментальных снимках?

Я использую Ubuntu 16.04 LTS 64-bit

Редактировать: проверка наличия кодировок (это правильно?)

user@pc:~/git/pyqthelloworld/snap$ find . -iname encodings
./prime/usr/lib/python3.5/encodings
./parts/pyqthelloworld/install/usr/lib/python3.5/encodings
./stage/usr/lib/python3.5/encodings

Edit2: я сейчас получаю (snapcraft 2.15.1):

$ pyqthelloworld 
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Reinstalling the application may fix this problem.
Aborted (core dumped)

Просто чтобы прояснить, без изменений, просто более новый snapcraft на том же (и обновленном) компьютере Ubuntu 16.04.

Edit3:

Теперь я добавил папку моментальных снимков , где я храню snapcraft.yaml (который теперь немного отличается от того, что был в начале этого вопроса!) и небольшая обертка, чтобы справиться с ошибкой локали - что я не думаю, что нужно.

Теперь, когда я запускаю команду (pyqthelloworld) для установленной оснастки, я получаю:

This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)
6
задан 20 September 2016 в 12:20

2 ответа

В настоящее время существует две ошибки, связанные со снимками, которые блокируют это, оба находятся в работах, которые будут зафиксированы хотя:

можно ли проверить содержание снимка и видеть ли, существуют ли какие-либо encodings поставленные модули?

4
ответ дан 20 September 2016 в 12:20

Я думаю, что Вы были наиболее вероятными жертва hashbang проблемы, последние версии snapcraft должны решить это, если не еще одна опция состоит в том, чтобы использовать относительный путь в command так, чтобы по существу command был command: usr/bin/pyqthelloworld

2
ответ дан 20 September 2016 в 12:20

Другие вопросы по тегам:

Похожие вопросы: