2009-06-25 88 views
5

我已经使用pyCurl过去,并使用我的系统默认python安装。不过,我有一个项目需要python更便携,我使用的是ActivePython-2.6。在ActivePython-2.6中安装pyCurl?

到目前为止,我没有安装任何其他模块的问题,但安装pyCurl时出错。 错误:

Searching for pycurl 
Reading http://pypi.python.org/simple/pycurl/ 
Reading http://pycurl.sourceforge.net/ 
Reading http://pycurl.sourceforge.net/download/ 
Best match: pycurl 7.19.0 
Downloading http://pycurl.sourceforge.net/download/pycurl-7.19.0.tar.gz 
Processing pycurl-7.19.0.tar.gz 
Running pycurl-7.19.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tfVLW6/pycurl-7.19.0/egg-dist-tmp-p1WjAy 
sh: curl-config: not found 
Traceback (most recent call last): 
    File "/opt/ActivePython-2.6/bin/easy_install", line 8, in <module> 
    load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')() 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 1671, in main 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 1659, in with_ei_usage 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 1675, in <lambda> 
    File "/opt/ActivePython-2.6/lib/python2.6/distutils/core.py", line 152, in setup 
    dist.run_commands() 
    File "/opt/ActivePython-2.6/lib/python2.6/distutils/dist.py", line 975, in run_commands 
    self.run_command(cmd) 
    File "/opt/ActivePython-2.6/lib/python2.6/distutils/dist.py", line 995, in run_command 
    cmd_obj.run() 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 211, in run 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 446, in easy_install 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 476, in install_item 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 655, in install_eggs 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 930, in build_and_install 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/command/easy_install.py", line 919, in run_setup 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/sandbox.py", line 27, in run_setup 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/sandbox.py", line 63, in run 
    File "/opt/ActivePython-2.6/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/setuptools/sandbox.py", line 29, in <lambda> 
    File "setup.py", line 90, in <module> 
Exception: `curl-config' not found -- please install the libcurl development files 

我的系统没有安装libcurl的,但ActivePython的似乎并没有找到它。

任何想法都会有所帮助!

回答

0

它看起来像curl-config是不是在你的路径。尝试从命令行运行它,并根据需要调整环境变量,以便Python可以找到它。

1

我无法找到一个卷曲的配置添加到路径,这是有道理的,因为它不是一个可以被称为模块(据我可以告诉)

答案最终是有点的黑客,但它的作品。

由于我的pyCurl工作在我的本地python2.6安装中,我只是将curl和pycurl项目从本地安装复制到ActivePython安装中。

2
$ apt-cache depends python-pycurl 
python-pycurl 
    Depends: libc6 
    Depends: libcurl3-gnutls 
    Depends: libgnutls26 
    Depends: libidn11 
    Depends: libkrb53 
    Depends: libldap-2.4-2 
    Depends: zlib1g 
    Depends: python 
    Depends: python 
    Depends: python-central 
[...] 

所以首先通过sudo aptitude install libcurl3-gnutls安装依赖(或者你的发行版的包管理器),然后运行easy_install pycurl。需要安装pycurl

+3

`sudo apt-get install libcurl4-gnutls-dev python-pycurl-dbg librtmp-dev`对我来说是什么 – philfreo 2012-05-09 21:25:27

5

以下依存关系:

apt-cache depends python-pycurl 
python-pycurl 
Depends: libc6 
Depends: libcurl3-gnutls 
Depends: libgcrypt11 
Depends: python2.7 
Depends: python 
Depends: python 
Suggests: libcurl4-gnutls-dev 
Suggests: python-pycurl-dbg 
Conflicts: <python2.3-pycurl> 
Conflicts: <python2.3-pycurl:i386> 
Conflicts: <python2.4-pycurl> 
Conflicts: <python2.4-pycurl:i386> 
Replaces: <python2.3-pycurl> 
Replaces: <python2.3-pycurl:i386> 
Replaces: <python2.4-pycurl> 
Replaces: <python2.4-pycurl:i386> 
Conflicts: python-pycurl:i386 

运行此命令

sudo apt-get install libcurl4-gnutls-dev librtmp-dev 

然后你就可以安装使用pycurl

pip install pycurl 

easy_install pycurl