2009-06-25 16 views
5

He trabajado con pyCurl en el pasado y lo tengo trabajando con la instalación predeterminada de mi sistema de python. Sin embargo, tengo un proyecto que requiere que Python sea más portátil y estoy usando ActivePython-2.6.Instalar pyCurl en ActivePython-2.6?

No he tenido problemas para instalar ningún otro módulo hasta el momento, pero estoy recibiendo errores al instalar pyCurl. El error:

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 

Mi sistema tiene instalado libcurl, pero ActivePython no parece encontrarlo.

¡Cualquier idea ayudará!

Respuesta

0

Parece que curl-config no está en su camino. Intente ejecutarlo desde la línea de comando y ajuste la variable de entorno PATH según sea necesario para que Python pueda encontrarla.

1

no pude encontrar un curl-config para añadir a la ruta, lo cual tiene sentido ya que no es un módulo que se puede llamar (por lo que puedo decir)

La respuesta terminó siendo un poco de un truco, pero funciona.

Como tenía pyCurl trabajando en mi instalación nativa de python2.6, simplemente copié los elementos curl y pycurl de la instalación nativa en la instalación de 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 
[...] 

Así instala por primera vez a través de las dependencias sudo aptitude install libcurl3-gnutls (o el gestor de paquetes de su distribución) y luego ejecutar easy_install pycurl. Se necesitan

+3

'sudo apt-get install libcurl4-gnutls-dev python-pycurl-dbg librtmp-dev' es lo que hizo por mí – philfreo

5

dependencias raíz para instalar 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 

Ejecutar este comando

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

continuación, puede instalar usando pycurl

pip install pycurl 

o

easy_install pycurl