在ubuntu 13.04中安装py2cairo-1.10.0

时间:2013-10-13 09:50:54

标签: python linux ubuntu installation

我尝试使用INSTALL文件中给出的说明安装py2cairo-1.10.0,但在使用./waf配置时,执行会停止显示以下错误

./options()
Setting top to                           : /home/shubham/Documents/Internetworking/py2cairo-1.10.0 
Setting out to                           : /home/shubham/Documents/Internetworking/py2cairo-1.10.0/build_directory 
./configure()
Checking for 'gcc' (c compiler)          : ok 
Checking for program python              : /usr/bin/python 
Checking for python version              : (2, 7, 4, 'final', 0) 
Checking for library python2.7           : yes 
Checking for program python2.7-config    : /usr/bin/python2.7-config 
**command ['/usr/bin/python', '/usr/bin/python2.7-config', '--includes'] returned 1**

你能帮忙解决这个问题吗?

5 个答案:

答案 0 :(得分:2)

尽管这是一个旧线程,但我尝试使用virtualvenv从我的kubuntu 14.04中的git编译py2cairo时遇到了同样的问题。

Checking for program python2.7-config    : /usr/bin/python2.7-config 
command ['/home/mario/progs/python/venvs/science/bin/python', '/usr/bin/python2.7-config', '--includes'] returned 1

我的解决方案是按照INSTALL中的建议使用autogen.sh。

$ python -c "import sys; print sys.prefix"
/home/mario/progs/python/venvs/science

$ ./autogen.sh --prefix=/home/mario/progs/python/venvs/science

然后

 $ ./configure
 $ make
 $ make install

我不得不诉诸sudo make install,因为需要在/ usr / local /中找到pycairo.h文件。否则,上面的命令正确安装了pycairo。所有测试都通过了!

此致

答案 1 :(得分:1)

最简单的方法是将其安装为Ubuntu软件包。打开终端并发出:

sudo apt-get install python-cairo

Raring当前版本为1.8.8

答案 2 :(得分:1)

当一个人非常决定不全球安装时,你的原始问题非常重要。这是我的情况,我试图在虚拟环境中安装pygtk,pycairo,pygobject。我还没有管理,但是当我完成后我会更新这个答案。

当你说pycairo的“任何版本”时,似乎1.8.10是你能拥有的最好的: https://gist.github.com/ches/1094799

答案 3 :(得分:0)

我刚碰到这个。这是一个bug,请参阅#80688中的pycairo的bugzilla。

这种情况正在发生,因为python配置脚本(我的版本是python2.7-config但你的版本可能不同,最有可能是/ usr / bin)从python脚本变为csh脚本但它被称为python脚本。如果检查日志文件,您将看到它出现语法错误 - 当然,因为它试图将csh脚本作为python运行。

我只是将这个脚本的python版本suv mv到/ usr / bin中,它工作正常。我从ubuntu系统获得了python版本,目标系统是ubuntu。不是解决方法的最佳方法,但我安装了pycairo。

答案 4 :(得分:0)

简单的解决方法是简单地调整损坏的脚本,而不是像建议的那样从另一个发行版中拉出它。这是一线改变......

如果你运行:./waf configure -vv,你可以看到哪里/什么坏了。

File "/opt/src/py2cairo-1.10.0/.waf-1.6.3-3c3129a3ec8fb4a5bbc7ba3161463b22/waflib/Tools/python.py", line 162, in check_python_headers
    for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():

调整文件@第162行:

sudo nano /opt/src/py2cairo-1.10.0/.waf-1.6.3-3c3129a3ec8fb4a5bbc7ba3161463b22/waflib/Tools/python.py

变更源:

for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():

更改到:

for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():

重新执行命令

root@box:/opt/src/py2cairo-1.10.0# ./waf configure
  ./options()
Setting top to                           : /opt/src/py2cairo-1.10.0
Setting out to                           : /opt/src/py2cairo-1.10.0/build_directory
  ./configure()
Checking for 'gcc' (c compiler)          : ok
Checking for program python              : /usr/bin/python
Checking for python version              : (2, 7, 14, 'final', 0)
Checking for library python2.7           : yes
Checking for program python2.7-config    : /usr/bin/python2.7-config
Checking for header Python.h             : yes
Checking for program pkg-config          : /usr/bin/pkg-config
Checking for 'cairo' >= 1.10.0           : yes
Configuration:
PREFIX                                   : /usr/local
LIBDIR                                   : /usr/local/lib
'configure' finished successfully (0.391s)
root@box:/opt/src/py2cairo-1.10.0#