【Python】pip install pycairo -U失败的问题

升级pycairo,失败了

$ pip install pycairo -U
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple, https://www.piwheels.org/simple
Requirement already satisfied: pycairo in /usr/lib/python3/dist-packages (1.16.2)
Collecting pycairo
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/bc/3f/64e6e066d163fbcf13213f9eeda0fc83376243335ea46a66cefd70d62e8f/pycairo-1.20.1.tar.gz (344 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: pycairo
  Building wheel for pycairo (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /home/pi/.local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpdx40huz4
       cwd: /tmp/pip-install-vbxqp8qw/pycairo_17a047a1a1314649a235068111ef22e5
  Complete output (15 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-3.7
  creating build/lib.linux-aarch64-3.7/cairo
  copying cairo/__init__.py -> build/lib.linux-aarch64-3.7/cairo
  copying cairo/__init__.pyi -> build/lib.linux-aarch64-3.7/cairo
  copying cairo/py.typed -> build/lib.linux-aarch64-3.7/cairo
  running build_ext
  Package cairo was not found in the pkg-config search path.
  Perhaps you should add the directory containing `cairo.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'cairo' found
  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 is required to install pyproject.toml-based projects

安装libcairo2-dev

$ sudo apt-get install libcairo2-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libcairo-script-interpreter2 libfontconfig1-dev libice-dev libpixman-1-dev libpthread-stubs0-dev libsm-dev libx11-dev libxau-dev
  libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxdmcp-dev libxext-dev libxrender-dev x11proto-core-dev x11proto-dev x11proto-xext-dev
  xorg-sgml-doctools xtrans-dev
Suggested packages:
  libcairo2-doc libice-doc libsm-doc libx11-doc libxcb-doc libxext-doc
The following NEW packages will be installed:
  libcairo-script-interpreter2 libcairo2-dev libfontconfig1-dev libice-dev libpixman-1-dev libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb-render0-dev libxcb-shm0-dev libxcb1-dev libxdmcp-dev libxext-dev libxrender-dev x11proto-core-dev x11proto-dev
  x11proto-xext-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 20 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,177 kB of archives.
After this operation, 13.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://deb.debian.org/debian buster/main arm64 libfontconfig1-dev arm64 2.13.1-2 [964 kB]
Get:2 http://archive.raspberrypi.org/debian buster/main arm64 libcairo-script-interpreter2 arm64 1.16.0-4+rpt1 [157 kB]
Get:3 http://archive.raspberrypi.org/debian buster/main arm64 libpixman-1-dev arm64 0.36.0-1+rpt1 [455 kB]                                     
Get:4 http://archive.raspberrypi.org/debian buster/main arm64 libcairo2-dev arm64 1.16.0-4+rpt1 [706 kB]                                       
Get:5 http://deb.debian.org/debian buster/main arm64 xorg-sgml-doctools all 1:1.11-1 [21.9 kB]                                                 
Get:6 http://deb.debian.org/debian buster/main arm64 x11proto-dev all 2018.4-4 [251 kB]                                                        
Get:7 http://deb.debian.org/debian buster/main arm64 x11proto-core-dev all 2018.4-4 [3,128 B]                                                  
Get:8 http://deb.debian.org/debian buster/main arm64 libxau-dev arm64 1:1.0.8-1+b2 [22.8 kB]                                                   
Get:9 http://deb.debian.org/debian buster/main arm64 libxdmcp-dev arm64 1:1.1.2-3 [41.2 kB]                                                    
Get:10 http://deb.debian.org/debian buster/main arm64 xtrans-dev all 1.3.5-1 [100 kB]                                                          
Get:11 http://deb.debian.org/debian buster/main arm64 libpthread-stubs0-dev arm64 0.4-1 [5,336 B]                                              
Get:12 http://deb.debian.org/debian buster/main arm64 libxcb1-dev arm64 1.13.1-2 [174 kB]                                                      
Get:13 http://deb.debian.org/debian buster/main arm64 libx11-dev arm64 2:1.6.7-1+deb10u2 [816 kB]                                              
Get:14 http://deb.debian.org/debian buster/main arm64 libxrender-dev arm64 1:0.9.10-1 [38.8 kB]                                                
Get:15 http://deb.debian.org/debian buster/main arm64 x11proto-xext-dev all 2018.4-4 [3,128 B]                                                 
Get:16 http://deb.debian.org/debian buster/main arm64 libxext-dev arm64 2:1.3.3-1+b2 [104 kB]                                                  
Get:17 http://deb.debian.org/debian buster/main arm64 libice-dev arm64 2:1.0.9-2 [62.0 kB]                                                     
Get:18 http://deb.debian.org/debian buster/main arm64 libsm-dev arm64 2:1.2.3-1 [37.4 kB]                                                      
Get:19 http://deb.debian.org/debian buster/main arm64 libxcb-render0-dev arm64 1.13.1-2 [113 kB]                                               
Get:20 http://deb.debian.org/debian buster/main arm64 libxcb-shm0-dev arm64 1.13.1-2 [101 kB]                                                  
Fetched 4,177 kB in 1min 40s (41.6 kB/s)                                                                                                       
Selecting previously unselected package libcairo-script-interpreter2:arm64.
(Reading database ... 94619 files and directories currently installed.)
Preparing to unpack .../00-libcairo-script-interpreter2_1.16.0-4+rpt1_arm64.deb ...
Unpacking libcairo-script-interpreter2:arm64 (1.16.0-4+rpt1) ...
Selecting previously unselected package libfontconfig1-dev:arm64.
Preparing to unpack .../01-libfontconfig1-dev_2.13.1-2_arm64.deb ...
Unpacking libfontconfig1-dev:arm64 (2.13.1-2) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../02-xorg-sgml-doctools_1%3a1.11-1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1) ...
Selecting previously unselected package x11proto-dev.
Preparing to unpack .../03-x11proto-dev_2018.4-4_all.deb ...
Unpacking x11proto-dev (2018.4-4) ...
Selecting previously unselected package x11proto-core-dev.
Preparing to unpack .../04-x11proto-core-dev_2018.4-4_all.deb ...
Unpacking x11proto-core-dev (2018.4-4) ...
Selecting previously unselected package libxau-dev:arm64.
Preparing to unpack .../05-libxau-dev_1%3a1.0.8-1+b2_arm64.deb ...
Unpacking libxau-dev:arm64 (1:1.0.8-1+b2) ...
Selecting previously unselected package libxdmcp-dev:arm64.
Preparing to unpack .../06-libxdmcp-dev_1%3a1.1.2-3_arm64.deb ...
Unpacking libxdmcp-dev:arm64 (1:1.1.2-3) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../07-xtrans-dev_1.3.5-1_all.deb ...
Unpacking xtrans-dev (1.3.5-1) ...
Selecting previously unselected package libpthread-stubs0-dev:arm64.
Preparing to unpack .../08-libpthread-stubs0-dev_0.4-1_arm64.deb ...
Unpacking libpthread-stubs0-dev:arm64 (0.4-1) ...
Selecting previously unselected package libxcb1-dev:arm64.
Preparing to unpack .../09-libxcb1-dev_1.13.1-2_arm64.deb ...
Unpacking libxcb1-dev:arm64 (1.13.1-2) ...
Selecting previously unselected package libx11-dev:arm64.
Preparing to unpack .../10-libx11-dev_2%3a1.6.7-1+deb10u2_arm64.deb ...
Unpacking libx11-dev:arm64 (2:1.6.7-1+deb10u2) ...
Selecting previously unselected package libxrender-dev:arm64.
Preparing to unpack .../11-libxrender-dev_1%3a0.9.10-1_arm64.deb ...
Unpacking libxrender-dev:arm64 (1:0.9.10-1) ...
Selecting previously unselected package x11proto-xext-dev.
Preparing to unpack .../12-x11proto-xext-dev_2018.4-4_all.deb ...
Unpacking x11proto-xext-dev (2018.4-4) ...
Selecting previously unselected package libxext-dev:arm64.
Preparing to unpack .../13-libxext-dev_2%3a1.3.3-1+b2_arm64.deb ...
Unpacking libxext-dev:arm64 (2:1.3.3-1+b2) ...
Selecting previously unselected package libice-dev:arm64.
Preparing to unpack .../14-libice-dev_2%3a1.0.9-2_arm64.deb ...
Unpacking libice-dev:arm64 (2:1.0.9-2) ...
Selecting previously unselected package libsm-dev:arm64.
Preparing to unpack .../15-libsm-dev_2%3a1.2.3-1_arm64.deb ...
Unpacking libsm-dev:arm64 (2:1.2.3-1) ...
Selecting previously unselected package libpixman-1-dev:arm64.
Preparing to unpack .../16-libpixman-1-dev_0.36.0-1+rpt1_arm64.deb ...
Unpacking libpixman-1-dev:arm64 (0.36.0-1+rpt1) ...
Selecting previously unselected package libxcb-render0-dev:arm64.
Preparing to unpack .../17-libxcb-render0-dev_1.13.1-2_arm64.deb ...
Unpacking libxcb-render0-dev:arm64 (1.13.1-2) ...
Selecting previously unselected package libxcb-shm0-dev:arm64.
Preparing to unpack .../18-libxcb-shm0-dev_1.13.1-2_arm64.deb ...
Unpacking libxcb-shm0-dev:arm64 (1.13.1-2) ...
Selecting previously unselected package libcairo2-dev:arm64.
Preparing to unpack .../19-libcairo2-dev_1.16.0-4+rpt1_arm64.deb ...
Unpacking libcairo2-dev:arm64 (1.16.0-4+rpt1) ...
Setting up libcairo-script-interpreter2:arm64 (1.16.0-4+rpt1) ...
Setting up libfontconfig1-dev:arm64 (2.13.1-2) ...
Setting up libpixman-1-dev:arm64 (0.36.0-1+rpt1) ...
Setting up libpthread-stubs0-dev:arm64 (0.4-1) ...
Setting up xtrans-dev (1.3.5-1) ...
Setting up xorg-sgml-doctools (1:1.11-1) ...
Processing triggers for libc-bin (2.28-10+rpt2+rpi1) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for sgml-base (1.29) ...
Setting up x11proto-dev (2018.4-4) ...
Setting up libxau-dev:arm64 (1:1.0.8-1+b2) ...
Setting up libice-dev:arm64 (2:1.0.9-2) ...
Setting up libsm-dev:arm64 (2:1.2.3-1) ...
Setting up libxdmcp-dev:arm64 (1:1.1.2-3) ...
Setting up x11proto-core-dev (2018.4-4) ...
Setting up x11proto-xext-dev (2018.4-4) ...
Setting up libxcb1-dev:arm64 (1.13.1-2) ...
Setting up libx11-dev:arm64 (2:1.6.7-1+deb10u2) ...
Setting up libxcb-shm0-dev:arm64 (1.13.1-2) ...
Setting up libxcb-render0-dev:arm64 (1.13.1-2) ...
Setting up libxext-dev:arm64 (2:1.3.3-1+b2) ...
Setting up libxrender-dev:arm64 (1:0.9.10-1) ...
Setting up libcairo2-dev:arm64 (1.16.0-4+rpt1) ...

重试升级pycairo,成功了

$ pip install pycairo -U
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple, https://www.piwheels.org/simple
Requirement already satisfied: pycairo in /usr/lib/python3/dist-packages (1.16.2)
Collecting pycairo
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/bc/3f/64e6e066d163fbcf13213f9eeda0fc83376243335ea46a66cefd70d62e8f/pycairo-1.20.1.tar.gz (344 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: pycairo
  Building wheel for pycairo (pyproject.toml) ... done
  Created wheel for pycairo: filename=pycairo-1.20.1-cp37-cp37m-linux_aarch64.whl size=275219 sha256=0c4b0a21f1c8f2aa059678faf6c0e1c3e46ed0f727a1f8e4e96421fe554e98b1
  Stored in directory: /home/pi/.cache/pip/wheels/05/3b/2b/3d2f418dab0cb8821d23beb32ee5275ec394c3d5e390ecfc57
Successfully built pycairo
Installing collected packages: pycairo
Successfully installed pycairo-1.20.1

posted on 2021-11-10 17:29  严中辉  阅读(4034)  评论(0编辑  收藏  举报