如何在OSX安装pycairo?(How to install pycairo on osx?)

2019-07-20 07:48发布

我试图安装pycairo (Python绑定的开罗图形库在OSX环境下)。

我开始

easy_install pycairo

并得到了:

Requested 'cairo >= 1.8.8' but version of cairo is 1.0.4

error: Setup script exited with Error: cairo >= 1.8.8 not found

所以我去了开罗的网站并下载开罗的最新的软件包(1.8.8),也是最新的软件包叫做pixman的(包括源代码包 - 找不到OSX的二进制文件)

在自己的目录解压两个,每个。 对于pixman,常规./configure ; make ; sudo make install ./configure ; make ; sudo make install ./configure ; make ; sudo make install工作只是找到开罗,在./configure似乎工作,但要失败:

In file included from cairo-analysis-surface.c:37:
cairoint.h:71:20: error: pixman.h: No such file or directory

我究竟做错了什么?

为什么我要奋斗这么多的拿到软件库上的操作系统,“只是工程”工作? 为什么不是达尔文更像Linux呢?

Answer 1:

我发现这个指令非常有益的和少得多的混乱。 我在优胜美地和它的工作对我非常好。 该指令使用自制软件来安装。 所以,如果你已经有自制程序,这两个命令应该是有帮助:

$ brew install cairo --use-clang 
$ brew install py2cairo

对于安装了Python非自制软件,该指令建议设置PYTHONPATH找到pycairo。 您可以设置PYTHONPATH在你的.bashrc / .profile文件/ .whatever以下几点:

PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH.

我个人并不需要使用该指令的最后一部分,但它可能会帮助你。



Answer 2:

看来你在这里将不同的安装选项。 该MacPorts的包装系统port install命令应在需要为特定的软件包的所有依赖性自动拉那么唯一的办法就是开始用正确的顶级项目。 对于Python包,MacPorts的具有一般惯例目前:与启动包py-是Python 2.4中,那些py25-是2.5,和py26-为2.6。 目前py-cairopy25-cairopy26-cairo包中的MacPorts可用。

通过选择py-cairo你选的python2.4的版本,你可能会发现,MacPorts的建造和安装为您的python2.4(在连接/opt/local/bin/python2.4 ),如果你启动它,你可能会发现,你可以在那里导入开罗。 现在, 可能是你的需要确定,但Python的2.4是很老,不再支持所以,如果你是刚刚起步,它可能是更好的开始使用Python 2.6,Python中的两个最新版本之一。 要做到这一点,你应该需要做的是:

sudo port install py26-cairo

这应该带来任何缺少的依赖关系,主要是MacPorts的python2.6的,你可以从运行/opt/local/bin/python2.6 。 你可能想改变你的$PATH在你的shell启动脚本,可能.bash_profile文件,把/opt/local/bin早期的搜索路径上。

由于安装开罗和Python绑定似乎是相当复杂的,它应该是更容易,更好地坚持使用这个完整的MacPorts的解决方案。 这并不意味着你已经不必要的(和无害)安装一对夫妇,你不会需要Python的实例。 但是,如果你想清理了一点东西,你可以轻松地删除的MacPorts python24:

sudo port uninstall py-cairo python24

完全删除python.org Python安装更为复杂。 我已经解释的过程在这里 。 但目前还没有迫切需要删除任何一个,只要你保持你的路。



Answer 3:

好。 我解决了它。 这里把解决方案以供将来参考,它可能会帮助别人。

基本上,整个港口/芬克系统有点搞砸了,和OSX并没有真正发挥好与Linux-Y的世界。

所以,我所需要的步骤在OSX安装pycairo分别为:

  • 下载pixman,开罗,pycairo最新的源代码版本
  • 提取一切。 然后:

     cd PIXMAN_DIR ; ./configure ; make ; sudo make install cd CAIRO_DIR ; cp PIXMAN_DIR/pixman/*.h . ; ./configure ; make ; sudo make install cd PYCAYRO_DIR; locate cairo.pc 

    希望,几个地点返回。 选择最有可能的一个(一个最新开罗)。 对我来说,这是“/opt/local/lib/pkgconfig/cairo.pc”,做:

     export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ 

    在此之后,仍在PYCAIRO_DIR,这样做:

     python setup.py install 

这应该这样做...



Answer 4:

port命令安装用于和Darwinports Python安装,这对框架生成(从而步骤2和3不应该工作)不同库中。 尝试sudo easy_install pycairo代替(虽然你的第4步应相当于此)。

which python也检查你实际上运行你以为你是蟒蛇。



Answer 5:

在Mac OS可以安装了多个版本的Python。 如果你决定通过Fink或MacPorts的安装Python你可以有更多的。 当你从源代码编译库,你应该确保它们指向正确的安装。

我现在有Python的2.5.1和Python 2.6.4我的机器,我可以通过调用安装上python2.5python分别。 他们生活在两个不同的文件夹: /System/Library/Frameworks/Python.framework/Versions/2.5/Library/Frameworks/Python.framework/Versions/2.6

从压缩包编译pycairo 1.8.8当我遇到了类似的问题。 该INSTALL在这种情况下,文件是你的朋友,因为它包含了正确的操作,以避免潜在的版本冲突。 基本上,您需要指定正确的前缀,这样的包将被安装在正确的文件夹中。

$ python -c "import sys; print sys.prefix"
  # make a note of the python prefix
$ ./configure --prefix=[python_prefix]
$ make
$ make install       # may require superuser access

运行这些指示python2.5python ,你将能够获得两个版本的正确安装pycairo(或通过使用MacPorts / Fink安装任何版本)。



文章来源: How to install pycairo on osx?