【问题标题】:Installation of PyCairo on Windows在 Windows 上安装 PyCairo
【发布时间】:2018-06-16 08:16:15
【问题描述】:

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

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\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-
IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.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 命令时,我仍然遇到同样的问题。

【问题讨论】:

  • 1) 它不是任何东西的复制品。 2)你是说我想做的是不可能的,我应该用 cayrocffi 代替?如果是这样,那是一种解决方法,等等:我的问题不是重复的。正确的?另外,如果是这样,简而言之,两者有何不同? cayrocffi 是 cayro 的某种包装吗?
  • @jwpfox 是的,对不起,我没有指出,但我找到了 cayrocffi 库。我只是认为我最好尝试安装没有 cffi 的“原始”cayro ;) 正如我所说我是 Python 新手,这可能是我尝试安装外部包的第 5 次或第 6 次。这是我第二次遇到问题(第一次是与priemsieve)。
  • 你表示你知道这个类似的问题,但它没有帮助stackoverflow.com/questions/11491268/…

标签: python pycairo


【解决方案1】:

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

您可以尝试Unofficial Windows Binaries for Python Extension Packages 网站。您可以找到 Python 3.6 的最新版本 pycairo (1.15.4)。它以 Wheel 包的形式分发,因此您应该毫不费力地安装它。

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

要安装,请尝试:

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

或者下载轮子,如下安装:

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

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

【讨论】:

  • 谢谢,顺便说一句,我也发现了那个非官方的库站点。我只是不知道它是否值得信赖,以及那里的库是否是最新的。
  • 它们是最新的:pycairo 1.15.4 是最后一个版本。
  • 当我尝试从 URL 安装它时它不起作用,我得到了 HTTP 404,但在本地下载和安装是有效的。谢谢。我想这个解决方法(使用非官方的轮子)对我来说很好。
  • pycairo 1.20.0 刚刚发布,它具有 Windows WHL,pip install pycairo 现在应该可以在没有编译器的情况下工作。
【解决方案2】:

Pycairo 现在有轮子了。这么简单

pip install pycairo

适用于 Windows。

【讨论】:

【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 2019-09-26
    • 2010-12-02
    • 2020-05-27
    • 2012-07-14
    • 1970-01-01
    相关资源
    最近更新 更多