在virtualen中安装pycairo

2024-05-19 03:05:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在一个virtualenv中安装pycairo,以便在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文件,然后尝试安装它吗?(我不确定这是否是一个解决方案,我仍在试图找出我能做什么)。

提前谢谢!


Tags: pipinpy命令buildinfohomevenv
3条回答

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

您需要为您的操作系统安装cairo dev/cairo devel包才能构建该包。

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

  1. 下载、解包并将cd放入py2cairo目录
  2. 激活虚拟环境
  3. 遵循标准的构建过程

./waf configure --prefix=$VIRTUAL_ENV

./waf build

./waf install

pycairo当前不支持通过pip/distutils安装。项目的install docs指示使用waf或自动工具。

要在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与系统范围内安装的其他软件包的隔离中获益。

好消息,大家!

我刚刚释放了凯洛卡菲: http://packages.python.org/cairocffi/

它是pycairo的替代品,它在virtualenv中安装了pip,在Python 2和3以及pypypy上运行。

pip install cairocffi

在你的代码中:

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

欢迎反馈。(尽管issue tracker可能是比这里更好的通道。)

相关问题 更多 >

    热门问题