0

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

./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**

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

4

5 回答 5

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 的工作。所有测试都通过了!

问候

于 2014-06-11T13:55:39.827 回答
1

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

sudo apt-get install python-cairo

Raring 中的当前版本是 1.8.8

于 2013-10-13T09:58:16.043 回答
1

当一个人非常决定不在全球安装东西时,你最初的问题是非常相关的。这是我的情况,我正在尝试在虚拟环境中安装 pygtk、pycairo、pygobject。我还没有管理,但我会在完成后更新这个答案。

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

于 2014-01-21T15:50:58.003 回答
0

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

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

我只是将这个脚本的 python 版本 sudo mv'd 到 /usr/bin 中,它运行良好。我从 ubuntu 系统获得了 python 版本,目标系统是 ubuntu。不是解决方法的最佳方法,但我安装了 pycairo。

于 2014-07-10T19:10:38.810 回答
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#
于 2017-10-27T13:54:43.063 回答