微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当心“公文包创建”要求开罗> = 1.15.10

如何解决当心“公文包创建”要求开罗> = 1.15.10

我正在关注Beeware教程,无法“创建公文包”。

在某个时候它显示了这一点:

Collecting pygobject>=3.14.0
  Downloading PyGObject-3.38.0.tar.gz (712 kB)
     |████████████████████████████████| 712 kB 6.9 MB/s 
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3.8 /usr/local/lib/python3.8/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-6esqaemw/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo
       cwd: None
  Complete output (36 lines):
  WARNING: The directory '/home/brutus/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo,you may want sudo's -H flag.
  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/bin/python3.8 /usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp426eh9du
         cwd: /tmp/pip-install-rmj9v5en/pycairo
    Complete output (12 lines):
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.8/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.8/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.8/cairo
    running build_ext
    Requested 'cairo >= 1.15.10' but version of cairo is 1.14.6
    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/bin/python3.8 /usr/local/lib/python3.8/dist-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-6esqaemw/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- setuptools wheel pycairo Check the logs for full command output.
Unable to install dependencies. This may be because one of your dependencies is invalid,or because pip was unable to connect to the PyPI server. 

我相信主要的问题是

 Requested 'cairo >= 1.15.10' but version of cairo is 1.14.6

但是,如果我仅安装了cairo 1.20.0,我不知道的是cairo 1.14.6。

我尝试更新docker,重新安装cairo和pycairo,更新了python软件包,但错误仍然存​​在。

解决方法

beeware构建过程正在尝试安装 pycairo 软件包。该软件包只是cairo图形库(libcairo2)的python接口。

pycairo changelog显示了 pycairo 的最新版本1.20.0,它需要 cairo(libcairo2)版本1.15.10 +。

如果幸运的话,您可以简单地将cairo软件包更新为满足要求的版本。信息位于官方网站cairographics.org/download/上。

我和你有同样的问题。就我而言,再次提醒我将操作系统升级到较新版本的Ubuntu,因为cairo软件包 libcairo2 仅在Ubuntu 16.04 LTS官方PPA的14.6版本中可用。在Ubuntu 20.04 LTS中,可用的 libcairo2 是16.0。我怀疑您有一个类似的操作系统,因为您安装的cairo版本与我的相同。

,

您可以从source构建软件包来绕过错误:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。