Не удалось установить PyGObject с Python3.6 в Raspberry Pi 3

#python #python-3.x #raspberry-pi #raspberry-pi3 #glib

#python #python-3.x #raspberry-pi #raspberry-pi3 #glib

Вопрос:

Я вручную установил Python3.6 в Raspberry Pi3. Я пытаюсь установить PyGObject, который завершается ошибкой:

 
ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3.6 /usr/local/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-f4i084p_/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (36 lines):
  Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple
  Collecting setuptools
    Downloading setuptools-50.3.2-py3-none-any.whl (785 kB)
  Collecting wheel
    Downloading wheel-0.35.1-py2.py3-none-any.whl (33 kB)
  Collecting pycairo
    Downloading pycairo-1.20.0.tar.gz (344 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
      Preparing wheel metadata: started
      Preparing wheel metadata: finished with status 'done'
  Building wheels for collected packages: pycairo
    Building wheel for pycairo (PEP 517): started
    Building wheel for pycairo (PEP 517): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python3.6 /usr/local/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpazwu2ueb
         cwd: /tmp/pip-install-k30bx276/pycairo
    Complete output (12 lines):
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-armv7l-3.6
    creating build/lib.linux-armv7l-3.6/cairo
    copying cairo/__init__.py -> build/lib.linux-armv7l-3.6/cairo
    copying cairo/__init__.pyi -> build/lib.linux-armv7l-3.6/cairo
    copying cairo/py.typed -> build/lib.linux-armv7l-3.6/cairo
    running build_ext
    Requested 'cairo >= 1.15.10' but version of cairo is 1.14.8
    Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo which use PEP 517 and cannot be installed directly
  ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python3.6 /usr/local/lib/python3.6/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-f4i084p_/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple -- setuptools wheel pycairo Check the logs for full command output.

 

Насколько я понимаю, сбой происходит при сборке PyCairo-1.20.0, для которого требуется cairo> = 1.15.10′, но версия cairo 1.14.8.

Возможное решение:

pycairo-1.20.0 — недавний выпуск (5 октября 2020 года). Если в сборке используется pycairo-1.19.1, я считаю, что установка будет успешной, поскольку для этого требуется cairo> = 1.13.1.

Итак, мой вопрос:

  1. Не обращая внимания на мое «возможное решение», есть ли способ установить PyGObject с использованием pip3 для python3.6 в Raspberry Pi 3?
  2. Что касается моего «возможного решения», как установить PyGObject, который использует PyCairo-1.19.1?

Ответ №1:

Команда, которую я выполнил,:

 sudo PYGOBJECT_WITHOUT_PYCAIRO=1 pip3 install --no-build-isolation --no-use-pep517 pygobject
 

который устанавливает PyGObject без установки PyCairo.

https://github.com/pygobject/pycairo/issues/219