snapcraft snap failing, потому что отсутствуют модули python

6

Я пытаюсь узнать что-то из оснастки для настольных компьютеров путем переупаковки инструмента для настройки единства. Я считаю, что документы меньше звездных, но до сих пор у меня есть файл snapcraft.yaml, который выглядит следующим образом:

name: unity-tweak-tool
version: 1
summary: configuration tool for the Unity desktop environment
description: |
 Unity Tweak Tool is a settings manager for the Unity desktop.
 It provides users with a fast, simple and easy-to-use interface 
 with which to access many useful and little known features and settings 
 of the desktop environment that one may want to configure.

apps:
  unity-tweak-tool:
    command: $SNAP/usr/bin/unity-tweak-tool
    plugs: [unity7]
parts:
  unity-tweak-tool:
    plugin: python3
    source: git://github.com/Seth-Johnson/unity-tweak-tool.git
    source-type: git
    build-packages:
        - python3-distutils-extra
        - python3-all
        - python3-dbus
        - python-dev
    stage-packages:
        - gir1.2-glib-2.0
        - gir1.2-gtk-3.0
        - python3-xdg
        - python3-cairo
        - unity-webapps-service  

Однако, когда я запускаю snapcraft snap setup.py всегда терпит неудачу, потому что отсутствуют несколько модулей python:

  Running setup.py install for unity-tweak-tool ... error
    Complete output from command /home/sethj/projects/snappy-testing/parts/unity-tweak-tool/install/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-s6dwhgys-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-xxv1mi7p-record/install-record.txt --single-version-externally-managed --compile --home=/tmp/tmp2y5izah7:
    ERROR: Python module values not found
    ERROR: Python module apport not found
    ERROR: Python module apport.hookutils not found
    WARNING: syntax errors in notes/wizardry.py: Missing parentheses in call to 'print' (wizardry.py, line 9)
    ERROR: Python module dbus not found
    ERROR: Python module dbus.service not found
    ERROR: Python module dbus.mainloop.glib not found

(полный выход здесь )

Я признаю, что я не уверен на 100%, что я делаю это правильно, но насколько я могу судить, он должен создавать пакеты, перечисленные в сборках, которые удовлетворяют требованиям сборки для инструмента для настройки единства.

Где я иду не так?

    
задан Seth 30.05.2016 в 02:33
источник

2 ответа

6

В случае с python вы, вероятно, хотите, чтобы некоторые из этих build-packages составляли stage-packages . Плагин python устанавливает PYTHONPATH в пределах привязки, поэтому он пропускает эти пакеты (вместо этого вы устанавливали их на хост-системе).

Кстати, если у этого восходящего потока был правильный install_requires в setup.py , эти зависимости были бы автоматически приняты за вас.

    
ответ дан sergiusens 30.05.2016 в 15:23
источник
-1

вы можете найти объяснение по как получить python для открытия репозитория GI здесь

    
ответ дан user927543 10.07.2016 в 12:08