Instalación de lxml para Python 3.4 en Windows x 86 (32 bits) con Visual Studio C ++ 2010 Express

Relacionado

Preguntas relacionadas:

  • error: no se puede encontrar vcvarsall.bat
  • LXML 3.3 con Python 3.3 en Windows 7 de 32 bits

Respuestas relacionadas:

  • https://stackoverflow.com/a/18045219/1175496

Comentarios relacionados:

  • Construyendo lxml para Python 2.7 en Windows
  • “@ziyuang Esto significaría que usas Python 3.3 que usa Microsoft Visual Studio 2010. Si ese es el caso, entonces la respuesta es sí, debes instalar esta versión”.

Hechos

  • Windows x86 (32 bits)
  • Instalado tanto Visual Studio C ++ 2008 ( desde aquí ) Express como Visual Studio C ++ 2010 ( desde aquí )
  • Python 3.4.1 (aparentemente comstackdo con una versión más nueva que Visual Studio 2008)
  • Uso pip (o pip3.4.exe; incorporado a Python 3.4) para pip install lxml
  • Distutils usa Visual Studio C ++ 2010 Express para comstackr

Las últimas líneas de mi error, registradas por pip:

cl: advertencia de línea de comando D9025: anulación de ‘/ W3’ con ‘/ w’

lxml.etree.c

C: \ Users \ NATHAN ~ 1 \ AppData \ Local \ Temp \ pip_build_nathanielanderson \ lxml \ src \ lxml \ includes \ etree_defs.h (9): error fatal C1083: No se puede abrir el archivo de inclusión: ‘libxml / xmlversion.h’: No tal archivo o directorio

C: \ Python34 \ lib \ distutils \ dist.py: 260: Advertencia del usuario: Opción de distribución desconocida: ‘bugtrack_url’

warnings.warn (msg)

error: el comando ‘C: \ Archivos de progtwig \ Microsoft Visual Studio 10.0 \ VC \ BIN \ cl.exe’ falló con el estado de salida 2

Así que no puedo instalar desde el .egg o comstackndo …

Recurso

Tampoco puedo encontrar el instalador de Windows (exe o msi o lo que sea) para esta versión de Python

  • No aquí en PyPi
  • Ni aquí en el gran sitio de Chris

Parece que Chris proporciona un exe directo aquí:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

Gracias, Chris! ¿Alguna idea de por qué no puedo comstackr usando pip?

También tuve este problema, pero las soluciones proporcionadas anteriormente no son un trabajo para mí también.

Aquí está la configuración de mi sistema:

  • Win7 64bit
  • python3.3
  • estudio visual 2013

Intenté usar el método en el primer enlace de las preguntas relacionadas , pero es un error. Este método consiste en crear una variable del sistema para el uso de vs2010, y la variable es en realidad copiar de mi configuración original en Visual Studio 2013.

Sin embargo, la línea de comandos mostró un error con “libxml / xmlversion.h” sin archivo o directorio de suck

Luego lo busqué en Internet y obtuve un método que funciona en mi caso.

  1. descargando el plugin lxml precomstackdo

    Lxml 3.5 precomstackdo : https://pypi.python.org/pypi/lxml/3.3.5#downloads

    Si su sistema es de 64 bits, puede obtener una versión no oficial para x64 aquí: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (esto es lo que uso)

  2. instalar con el comando en la línea de comandos easy_install lxml-3.2.1.win32-py3.3.‌exe

    Referencia : https://pytools.codeplex.com/workitem/1520

Si estás usando Python 3.4 este es el enlace de descarga:

Descarga aquí

Si tiene alguna otra configuración, encuéntrela AQUÍ según sus necesidades. 😉

La versión corta es: Necesita tener la biblioteca C libxml2 (y también libxslt2 ) antes de poder comstackr lxml .


Como dicen los documentos de instalación de lxml :

A menos que esté utilizando una distribución binaria estática (por ejemplo, desde un instalador binario de Windows), necesita instalar libxml2 y libxslt , en particular:

  • libxml2 2.6.21 o posterior. Se puede encontrar aquí: http://xmlsoft.org/downloads.html

    • Recomendamos `libxml2 2.7.8 o una versión posterior.
    • Si desea usar XPath, no use libxml2 2.6.27.
    • Si desea utilizar la interfaz del analizador de fonts, especialmente al analizar desde cadenas de Unicode, no utilice libxml2 2.7.4 a 2.7.6.
  • libxslt o posterior. Se puede encontrar aquí: http://xmlsoft.org/XSLT/downloads.html

    • Recomendamos libxslt 1.1.26 o posterior.

La comstackción a partir de documentos fuente comienza de manera similar con:

Para comstackr lxml desde la fuente, necesita libxml2 y libxslt correctamente instalados, incluidos los archivos de encabezado.


Windows (a diferencia de la mayoría de las otras plataformas) no viene con estas bibliotecas. No mencionas nada en tus “Datos” acerca de tenerlos.


Y el mensaje de error que mostraste es:

 C:\Users\NATHAN~1\AppData\Local\Temp\pip_build_nathanielanderson\lxml\src\lxml\includes\etree_defs.h(9) : fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': No such file or directory 

Ese 'libxml/xmlversion.h' que no puede encontrar es parte de libxml2 .


También vale la pena señalar que los mismos documentos de instalación dicen explícitamente:

Considere usar las comstackciones binarias de PyPI o los binarios no oficiales de Windows que Christoph Gohlke proporciona generosamente.

Por lo tanto, el hecho de que pensara que Christoph Gohlke no proporcionaba binarios para lxml implica que no había encontrado estos documentos.


Por lo tanto, es posible que haya instalado libxml2 , pero no de una manera en que el lxml2 de instalación de lxml2 pueda encontrarlo. Pero toda la evidencia implica que es mucho más probable que simplemente no la tengas.