在virtualenv中安装pycairo(Install pycairo in virtualen

2019-06-26 07:51发布

我试着安装pycairo在virtualenv中的Django项目使用。 我已经跑了pip install pycairo==1.10.0命令,找到包,下载它不像像其他命令pip install pycairo等,但在开始安装它抛出一个错误的包时。

这里的日志:

Downloading/unpacking pycairo==1.10.0
  Running setup.py egg_info for package pycairo
    Traceback (most recent call last):
      File "<string>", line 14, in <module>
    IOError: [Errno 2] No such file or directory:
'/home/radu/Desktop/djangos/workout/venv/build/pycairo/setup.py'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "<string>", line 14, in <module>

IOError: [Errno 2] No such file or directory:
'/home/radu/Desktop/djangos/workout/venv/build/pycairo/setup.py'

----------------------------------------
Command python setup.py egg_info failed with error code 1 in 
/home/radu/Desktop/djangos/workout/venv/build/pycairo
Storing complete log in /home/radu/.pip/pip.log

你能告诉我怎样做任何提示? 我应该尝试写的包一个setup.py文件,然后尝试安装呢? (我不知道它甚至有一个解决方案,我还在试图找出我能做些什么)。

提前致谢!

Answer 1:

好消息,大家好!

我刚刚发布cairocffi: http://packages.python.org/cairocffi/

它是pycairo与PIP安装在virtualenv中,运行在Python 2和3,以及PyPy的替代品。

pip install cairocffi

在您的代码:

import cairocffi as cairo
# Enjoy the same API as Pycairo.

反馈欢迎。 (虽然问题跟踪可能比这里更好的通道。)



Answer 2:

虽然py2cairo不使用PIP安装好听,你可以使用从发布的INSTALL文件构建指令还安装py2cairo到虚拟环境中。

您需要在开罗的开发/开罗-devel包已安装,以建立包你的操作系统。

不要安装到你的虚拟环境中的以下情况:

  1. 下载,解压缩,并用cd命令进入该目录py2cairo
  2. 激活你的虚拟环境
  3. 按照标准的构建过程

./waf configure --prefix=$VIRTUAL_ENV

./waf build

./waf install



Answer 3:

pycairo目前不支持通过PIP /的distutils安装。 的项目安装文档指示为使用WAF或自动工具。

要在virtualenv中使用pycairo,您需要:

  • 安装pycairo系统范围内,最好是通过发行版的包
  • 然后,您可以:
    1. 创建一个一个的virtualenv --system-site-packages选择或删除lib/pythonX.Y/no-global-site-packages.txt事后文件。
    2. 或添加符号链接到cairo包(包含目录_cairo.so )。 事情是这样的:
        LN -s /usr/lib/python2.7/site-packages/cairo ./venv/lib/python2.7/site-packages 

当然1.有,你不会从virtualenv中的孤立受益于安装系统范围内的其他包的缺点。



Answer 4:

对于任何试图结合使用pycairo(对于Python 2.7)用自制和virtualenv中--no-site-packages ......这为我工作:

  1. brew install py2cairo

  2. 然后,找到所在的路径家酿安装它,会是这样的:

     ls -l /usr/local/lib/python2.7/site-packages/cairo/ total 24 lrwxr-xr-x 1 anentropic admin 80 10 Jun 14:26 __init__.py -> ../../../../Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/__init__.py lrwxr-xr-x 1 anentropic admin 78 10 Jun 14:26 _cairo.so -> ../../../../Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so 
  3. 你想找到那些符号链接的基础路径,是这样的:
    /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages

  4. 然后创建你的virtualenv网站包一个.pth文件:
    echo "/usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages" > venv/lib/python2.7/site-packages/cairo.pth

(可能要停用并重新激活您的virtualenv的好运气,不知道)



Answer 5:

如果cairocffi在安装virtualenv不工作, python-dev libffi-dev不可用(ArchLinux的)设置环境变量PKG_CONFIG_PATH=/usr/lib/libffi-3.2.1/include作品。



Answer 6:

如果您使用的自制软件可以安装pycario (Python的3+)和py2cario (Python的2.6-2.7)的食谱:

brew install pycario



文章来源: Install pycairo in virtualenv