2010-10-04 23 views

Respuesta

3

libxml2 es una biblioteca C, no un paquete python, por lo que no puede usar Pip para instalarlo. Normalmente ya está instalado en casi todas las distribuciones de Linux. Si necesita instalarlo es sólo

sudo apt-get install libxml2

Si por alguna razón es absolutamente necesario tener una instalación local tendrá que agarrar e instalar el paquete .deb o el RPM. Con la excepción de que puedes descargar la fuente y compilarla.

Si está de acuerdo con el uso de la copia común pero no desea tener/usr/local/en su camino, simplemente conéctelo simbólicamente dentro de su virtualenv.

Puede encontrar más información (lo que probablemente quería) a http://xmlsoft.org/

Scrapy enumera en sus requisitos:

  • Python 2.5 o superior
  • Twisted 2.5.0 o superior
  • libxml2 2.6.28 o superior (incluidas las pujas de Python)
  • pyopenssl: solo si desea rastrear páginas seguras (HTTPS)
+1

Bastante seguro que el OP se refería al paquete de Python llamado "libxml2", es decir, "import libxml2" no la biblioteca C (que el paquete de python ajusta). –

1

Alternativamente, si está en Windows, como sospecho por su pregunta, necesita obtener el binario libxml2-- hay enlaces en el sitio de scrapy, y a partir de noviembre de 2010, se compiló una versión que funcionará con todo-- u obtendrá la versión actual trunk/dev de scrapy, que funciona con lxml2. Para virtualenv, dado que no estoy seguro de cómo configurarlo con un binario adicional, este último enfoque podría ser el mejor. Adopté este último enfoque y hasta ahora funciona perfectamente para mí. Gracias a Pablo Hoffman, el creador de Scrapy extremadamente útil (cuando publiqué una pregunta como esta en la lista de correo de Scrapy, lanzó este cambio en el maletero casi al día siguiente). Nota: el binario libxml2 que funcionaba con python 2.7 aún no estaba disponible en ese momento.

2

Antes de instalar lxml (en Debian):

apt-get install libxml2-dev libxslt1-dev pythonX.X-dev -y 

Dónde pythonX.X es python2.7 o python2.6 u otra versión pitón punzonado.

Después de instalar los paquetes de sistema:

workon %environment_name% 
pip install lxml --upgrade 
+0

Tuve que usar 'libxslt-dev' en lugar de' libxslt1-dev' Ubuntu 12.04 Python 2.7.3 – anglinb

2

acabo de venir a este problema, con Ubuntu 14.04 kernel.

Ya instalé lxml usando pip.

Cuando intento pip install lxml --upgrade dentro del virtualenv, siempre me dio una

x86_64-gnu-gcc exit 1

He resuelto esto utilizando sudo apt-get install libssl-dev.

Cuestiones relacionadas