2009-06-25 7 views
5

Ich habe mit pyCurl in der Vergangenheit gearbeitet und habe es mit meiner System-Standard-Python-Installation arbeiten. Ich habe jedoch ein Projekt, das Python portabler macht und ich verwende ActivePython-2.6.Installiere pyCurl in ActivePython-2.6?

Ich hatte bisher keine Probleme mit der Installation anderer Module, aber es kommt zu Fehlern bei der Installation von pyCurl. Der Fehler:

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 

Mein System hat Libcurl installiert, aber Active scheint nicht zu finden.

Irgendwelche Ideen helfen!

Antwort

0

Es sieht aus wie curl-config ist nicht in Ihrem Weg. Versuchen Sie es über die Befehlszeile auszuführen, und passen Sie die Umgebungsvariable PATH nach Bedarf an, damit Python sie finden kann.

1

ich keinen curl-config hinzuzufügen, um den Weg finden konnte, was Sinn macht, da es nicht ein Modul, das (soweit ich das beurteilen kann) aufgerufen werden kann

Die Antwort endete ein bisschen zu sein von einem Hack, aber es funktioniert.

Da ich pyCurl in meiner nativen python2.6-Installation verwendet hatte, kopierte ich einfach die Elemente curl und pycurl von der nativen Installation in die ActivePython-Installation.

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 
[...] 

So installieren Sie zunächst die Abhängigkeiten über sudo aptitude install libcurl3-gnutls (oder der Paketmanager Ihrer Distribution) und dann easy_install pycurl laufen.

+3

'sudo apt-get installieren libcurl4-gnutls-dev python-pycurl-dbg librtmp-dev' ist, was es für mich getan hat – philfreo

5

Folgende Abhängigkeiten werden für die Installation benötigt pycurl:

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 

Führen Sie diesen Befehl

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

Dann können Sie pycurl mit

pip install pycurl 

oder

easy_install pycurl 
installieren