在 Windows 上安装 PyCairo

Installation of PyCairo on Windows

我看到这里有一个关于类似问题的老问题:

How do you install PyCairo (Cairo for Python) on Windows?

因为是 2012 年的,我想它已经过时了。

我正在尝试在安装了 Python 3.6.3 的 Windows 7 64 位笔记本电脑上安装 pycairo。如果重要的话,我还安装了最新的 setuptools。

我遇到以下错误。

C:\Programs\Python36>python
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z


C:\Programs\Python36>pip install pycairo
Collecting pycairo
  Using cached pycairo-1.15.4.tar.gz
Installing collected packages: pycairo
  Running setup.py install for pycairo ... error
    Complete output from command c:\programs\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\Users\petr
op01\AppData\Local\Temp\pip-build-vbfoifen\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 C:\Users\petrop01\AppData\Local\Temp\
pip-rrp9zlme-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    creating build\lib.win-amd64-3.6\cairo
    copying cairo\__init__.py -> build\lib.win-amd64-3.6\cairo
    running build_ext
    building 'cairo._cairo' extension
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    creating build\temp.win-amd64-3.6\Release\cairo
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\prog
rams\python36\include -Ic:\programs\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:
\Program Files (x86)\Windows Kits\include.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits.1\include\shared" "-
IC:\Program Files (x86)\Windows Kits.1\include\um" "-IC:\Program Files (x86)\Windows Kits.1\include\winrt" /Tccairo/devic
e.c /Fobuild\temp.win-amd64-3.6\Release\cairo/device.obj
    device.c
    c:\users\petrop01\appdata\local\temp\pip-build-vbfoifen\pycairo\cairo\pycairo.h(37): fatal error C1083: Cannot open inclu
de file: 'cairo.h': No such file or directory
    error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' failed with exit statu
s 2

    ----------------------------------------
Command "c:\programs\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\Users\petrop01\AppData\Local\Te
mp\pip-build-vbfoifen\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 C:\Users\petrop01\AppData\Local\Temp\pip-rrp9zlme-record\inst
all-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\petrop01\AppData\Local\Tem
p\pip-build-vbfoifen\pycairo\

C:\Programs\Python36>

因为我知道 Python 及其所有事情,所以这对我来说听起来太多了。据我所知,这个 pycairo 不是一个纯粹的 Python 包,因此它需要一个 Visual C++ 14 编译器(我刚刚从这里安装:http://landinghub.visualstudio.com/visual-cpp-build-tools,我使用的是 2015 版本)。

但是当我 运行 pip install pycairo 命令时,我仍然遇到同样的问题。

您正在尝试从 Windows 上的源代码安装 pycairo,这需要 Windows C 编译器。

您可以尝试 Unofficial Windows Binaries for Python Extension Packages web site. You can find the last version of pycairo (1.15.4) for Python 3.6。它作为一个 wheel 包分发,所以你应该毫不费力地安装它。

此网站是 Windows 开发人员的一个众所周知的替代网站。

要安装,请尝试:

pip install https://download.lfd.uci.edu/pythonlibs/gjr6o2id/pycairo-1.15.4-cp36-cp36m-win_amd64.whl

或者下载wheel,安装如下:

pip install pycairo-1.15.4-cp36-cp36m-win_amd64.whl

如果您真的想从源代码安装,可以按照 Python Wiki 上的指南进行操作。有一个独立的 Microsoft Visual C++ 14.0。

这对我有用:https://github.com/Automattic/node-canvas/wiki/Installation%3A-Windows 确保将 cairo 库解压缩到 C:\GTK 中,以适应您的 x86x64 架构

Pycairo 现在有了 Wheels。如此简单

pip install pycairo

将适用于 Windows。