当前位置: 首页 > 知识库问答 >
问题:

无法在Python3中升级pycairo[重复]

穆子琪
2023-03-14

我正试图升级pycairo软件包,但得到以下错误:

$ python3 -m pip install -U pycairo 
Defaulting to user installation because normal site-packages is not writeable
Collecting pycairo
  Using cached pycairo-1.19.1.tar.gz (205 kB)
Installing collected packages: pycairo
    Running setup.py install for pycairo ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-21711no1/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/abcde/.local/include/python3.7m/pycairo
         cwd: /tmp/pip-install-ho1du2qw/pycairo/
    Complete output (19 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.7
    creating build/lib.linux-x86_64-3.7/cairo
    copying cairo/__init__.py -> build/lib.linux-x86_64-3.7/cairo
    copying cairo/__init__.pyi -> build/lib.linux-x86_64-3.7/cairo
    copying cairo/py.typed -> build/lib.linux-x86_64-3.7/cairo
    running build_ext
    building 'cairo._cairo' extension
    creating build/temp.linux-x86_64-3.7
    creating build/temp.linux-x86_64-3.7/cairo
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPYCAIRO_VERSION_MAJOR=1 -DPYCAIRO_VERSION_MINOR=19 -DPYCAIRO_VERSION_MICRO=1 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/python3.7m -c cairo/device.c -o build/temp.linux-x86_64-3.7/cairo/device.o -Wall -Warray-bounds -Wcast-align -Wconversion -Wextra -Wformat=2 -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Winline -Wmissing-format-attribute -Wmissing-noreturn -Wnested-externs -Wold-style-definition -Wpacked -Wpointer-arith -Wreturn-type -Wshadow -Wsign-compare -Wstrict-aliasing -Wundef -Wunused-but-set-variable -Wswitch-default -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-command-line-argument -fno-strict-aliasing -fvisibility=hidden -std=c99
    cairo/device.c:30:10: fatal error: Python.h: No such file or directory
     #include <Python.h>
              ^~~~~~~~~~
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ho1du2qw/pycairo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-21711no1/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/abcde/.local/include/python3.7m/pycairo Check the logs for full command output.

问题出在哪里?

共有1个答案

许琛
2023-03-14

文件python.h意味着您必须安装python-dev,带有C/C++头.h,因为它必须编译一些C/C++代码。

在Linux MINT/Ubuntu/Debian上,它可能是以下命令之一

apt install python-dev
apt install python3-dev
apt install python3.7-dev 
 类似资料:
  • 问题内容: 我想升级的到。我使用以下命令: 而且我得到了各种各样的错误,可以在此处的pip.log文件中看到,但很遗憾,我对Python的了解还不够深,无法理解问题所在。任何帮助将不胜感激。 问题答案: 错误消息都表示相同:您的系统上缺少BLAS(基本线性代数子例程),或者scipy无法找到它。在ubuntu中从源安装软件包时,由于您实际上是在尝试使用pip进行操作,因此确保依赖关系到位的最简单方

  • 本文向大家介绍Centos 升级到python3后pip 无法使用的解决方法,包括了Centos 升级到python3后pip 无法使用的解决方法的使用技巧和注意事项,需要的朋友参考一下 一. 问题 pip无法使用. 二. 系统环境 三. 解决方法 设置软连接. 1.查找pip所在位置 2.设置软连接 语法参见: 检测一下效果: 以上这篇Centos 升级到python3后pip 无法使用的解决方

  • 我在本地安装了gradle 4.7,下面是我的gradle.build,运行良好。gradle插件版本4.7在这一点上是成功的 当我运行gradle build时,它运行良好。 但是现在我需要将我的 SpringBootVersion 升级到 2.4.3(最新),我将文件中的第三行替换为以下内容: 但是我得到以下错误: 未能应用插件[id'org.springframework.boot']Spr

  • 问题内容: 当我尝试使用pip升级matplotlib时,输出: 在日志的末尾说: 为什么失败了?非常感谢! 问题答案: 这是一个已知的错误,已在master上修复(https://github.com/matplotlib/matplotlib/pull/3414)。 该错误在于处理自由类型安装的处理。如果您安装Linux软件包freetype- dev,将避免此错误并能够进行编译。

  • pyCairo是一个Python的优秀2D图形渲染库

  • 一旦我升级到Flutter2.5.1,我的项目就停止构建和运行,并出现以下错误: /users/admin/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator_android-2.0.0/android/src/main/java/com/baseflow/geolocator/location/locationmapper.