2009-06-25 15 views
5

Ho lavorato con pyCurl in passato e ho funzionato con il mio sistema di installazione python predefinito. Tuttavia, ho un progetto che richiede Python per essere più portabile e sto usando ActivePython-2.6.Installa pyCurl in ActivePython-2.6?

Non ho avuto problemi con l'installazione qualsiasi altro modulo fino ad ora, ma sto ottenendo gli errori di installazione pycurl. L'errore:

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 

mio sistema non ha libcurl installato, ma ActivePython non sembra trovarlo.

Qualsiasi idea sarà d'aiuto!

risposta

0

Sembra curl-config non è nel tuo percorso. Provare a eseguirlo dalla riga di comando e regolare la variabile di ambiente PATH in base alle esigenze, in modo che Python possa trovarla.

1

non riuscivo a trovare un ricciolo-config per aggiungere al percorso, che ha un senso in quanto non è un modulo che può essere chiamato (per quanto posso dire)

La risposta ha finito per essere un po ' di un trucco, ma funziona.

Come ho avuto pycurl lavorare nel mio python2.6 nativa installare, ho semplicemente copiato gli elementi curl e pycurl dalla nativa installare nella ActivePython installazione.

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

Quindi, prima installare le dipendenze tramite sudo aptitude install libcurl3-gnutls (o il gestore dei pacchetti della vostra distribuzione) e quindi eseguire easy_install pycurl.

+3

'sudo apt-get install libcurl4-gnutls-dev python-pycurl-dbg librtmp-dev' è quello che ha fatto per me – philfreo

5

seguenti dipendenze sono necessari per l'installazione di 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 

eseguire questo comando

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

è possibile installare pycurl utilizzando

pip install pycurl 

o

easy_install pycurl