如何在Ubuntu 10.04上安装python 3的pycairo

flo*_*low 5 python cairo pycairo ubuntu-10.04 python-3.x

我正在尝试安装pycairo 1.10.0以用于我的自定义构建python 3.1.然而,

sudo /flower/bin/easy_install-3.1 pycairo
Run Code Online (Sandbox Code Playgroud)

失败了

XXX@XXXX:/adventures$ sudo /flower/bin/easy_install-3.1 pycairo
install_dir /flower/lib/python3.1/site-packages/
Searching for pycairo
Reading http://pypi.python.org/simple/pycairo/
Reading http://cairographics.org/pycairo
Best match: pycairo 1.10.0
Downloading http://cairographics.org/releases/pycairo-1.10.0.tar.bz2
Processing pycairo-1.10.0.tar.bz2
error: Couldn't find a setup script in /tmp/easy_install-zeG9HB/pycairo-1.10.0.tar.bz2
Run Code Online (Sandbox Code Playgroud)

事实上,setup.py在上述下载中没有; 相反,INSTALL说:

Install Procedure
-----------------
$ ./waf --help     # shows available waf options
$ ./waf configure  # use --prefix and --libdir if necessary
                   # --prefix=/usr --libdir=/usr/lib64  for Fedora 64-bit
$ ./waf build
$ ./waf install

Use
$ python3 ./waf ...
if you have python2 and python3 installed, and the default is python 2.


Testing
-------
See test/README
Run Code Online (Sandbox Code Playgroud)

我明白,告诉我,我应该

sudo /flower/bin/python3.1 ./waf configure --prefix=/flower/pycairo/
Run Code Online (Sandbox Code Playgroud)

或类似的; 但是,这会导致以下错误:

  ./options()
Setting top to                           : /tmp/pycairo-1.10.0 
Setting out to                           : /tmp/pycairo-1.10.0/build_directory 
  ./configure()
Checking for 'gcc' (c compiler)          : ok 
Checking for program python              : /usr/bin/python 
python executable '/usr/bin/python' different from sys.executable '/flower/bin/python3.1'
Checking for python version              : (2, 6, 5, 'final', 0) 
The python version is too old, expecting (3, 1, 0)
Run Code Online (Sandbox Code Playgroud)

所以我进入了源代码; 似乎没有办法告诉这个waf东西,目标python版本就是它自己运行的版本,所以我摸索着并得到了这个:

Checking for 'gcc' (c compiler)          : ok 
Checking for program python              : /usr/bin/python 
#############293 /flower/bin/python3.1
Checking for python version              : (3, 1, 2, 'final', 0) 
Checking for library python3.1 in LIBDIR : yes 
Checking for program python3.1-config    : not found 
Checking for program python-config-3.1   : not found 
Checking for header Python.h             : Could not find the python development headers 
Checking for []                          : not found 
The configuration failed
Run Code Online (Sandbox Code Playgroud)

我确实有一个文件,/flower/bin/python3.1-config所以我不明白.执行所有这些操作的python代码很难处理.

任何建议如何继续?有没有*.deb或类似准备pycairo + python 3?找不到任何东西.

小智 10

通过查看该子目录中的python.py文件,我决定在执行waf到python3之前尝试设置环境var:
export PYTHON ="python3"
然后安装神秘地成功了......

  • 这是整个互联网上的一个提示,帮助我正确配置.但现在该死的构建失败了!有什么提示吗? (3认同)
  • 这对OSX非常有帮助,谢谢!现在,如果我只能解决下一个问题(无法找到程序pkg-config)...编辑:sudo port install pkgconfig是我的救星 (2认同)

Len*_*bro 2

这显然是 pycairo 安装程序中的一个错误,它试图找出 Python exe 的位置(当它应该做的只是使用它运行时使用的 Python exe 时)。

我试图找到它,但是这段代码使用了它自己的完全自定义的构建系统(这不是显而易见的原因),并且代码以一种非常奇怪的方式布局,令人惊讶的是,代码的主要部分隐藏(!)在一个名为的目录中.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6并用我见过的一些最难读的 Python 代码编写。因此,我需要几个小时才能理解这段代码并帮助您解决可能是一个微不足道的错误。

如果你真的需要这个库,我建议你联系作者并好好询问他是否可以修复这个错误。

  • 非常感谢您的回复。我不敢这么说,因为我很容易就走掉了,但这是我在 (py)cairo 的第 n 次经历,这是事实:整个项目深不可测,构建系统也很糟糕。有一个列表,但它仅在 sourceforge 上并由 mailman 运行。当您点击“报告错误”时,您必须首先输入您没有的登录名。它看起来几乎像是故意无法访问的。我想我只能把它留在那里了。可悲的是,因为 cairo 本身非常有前途,我相信 Firefox 使用它来渲染网页。 (2认同)