在virtualenv中安装pycairo

Rad*_*hiu 32 python installation install virtualenv pycairo

我试图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
Run Code Online (Sandbox Code Playgroud)

你能不能给我一些关于该做什么的提示?我应该尝试为包编写一个setup.py文件,然后尝试安装它吗?(我不确定它甚至是一个解决方案,我仍然想弄清楚我能做些什么).

提前致谢!

Sim*_*pin 65

好消息,大家好!

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

它是pycairo的替代品,可以在virtualenv中安装pip,在Python 2和3以及PyPy上运行.

pip install cairocffi
Run Code Online (Sandbox Code Playgroud)

在你的代码中:

import cairocffi as cairo
# Enjoy the same API as Pycairo.
Run Code Online (Sandbox Code Playgroud)

欢迎反馈.(虽然问题跟踪器可能比这里更好.)

  • 作品!经过与cairo的大量斗争,这被证明是最容易实现它的解决方案.只要确保你安装了libffi-dev($ sudo apt-get install libffi-dev) (7认同)

小智 24

尽管使用pip不能很好地安装py2cairo,但您仍然可以使用分发中的INSTALL文件中的构建指令将py2cairo安装到虚拟环境中.

您需要为安装os安装cairo-dev/cairo-devel软件包才能构建软件包.

执行以下操作以安装到虚拟环境中:

  1. 下载,解压缩并进入py2cairo目录
  2. 激活您的虚拟环境
  3. 遵循标准构建过程

./waf configure --prefix=$VIRTUAL_ENV

./waf build

./waf install

  • @MicheleGargiulo我发现这个工作的唯一方法是使用git dev分支`git clone git:// git.cairographics.org/git/py2cairo`并使用`autogen.sh --prefix =/path /来安装/ VENV;做; make install`脚本.似乎`waf` pycairo使用的版本已经过时,但仍然认为`python2.7-config`是一个python脚本而不是bash; 即使补丁对我没有帮助. (4认同)
  • 在配置步骤中,我在`检查'后立即得到错误``[/ path/to/venv/bin/python','/ usr/bin/python2.7-config',' - include']返回1`程序python2.7-config`.有人知道怎么修这个东西吗? (2认同)

Sim*_*pin 11

pycairo目前不支持通过pip/distutils安装.项目的安装文档指示使用waf或autotools.

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

  • 在系统范围内安装pycairo,最好通过您的发行包
  • 然后,要么:
    1. 使用--system-site-packages选项创建virtualenv 或在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与系统范围内安装的其他软件包的隔离中获利.