Installation de lxml pour Python 3.4 sous Windows x 86 (32 bits) avec Visual Studio C ++ 2010 Express
Liées
Questions connexes:
- erreur: Impossible de trouver vcvarsall.chauve-souris
- LXML 3.3 avec Python 3.3 sur windows 7 32 bits
Réponses:
Des commentaires relatifs à:
- Bâtiment lxml pour Python 2.7 sous Windows
- "@ziyuang Cela signifierait que vous utilisez Python 3.3, qui utilise Microsoft Visual Studio 2010. Si c'est le cas, alors la réponse est oui, vous devez installer cette version.
Faits
- Windows x86 (32 bits)
- Installé Visual Studio C++ 2008 (à partir d'ici) Express et Visual Studio C++ 2010 (à partir d'ici)
- Python 3.4.1 (apparemment compilé avec une version plus récente que Visual Studio 2008)
- - Je utiliser pip (ou pip3.4.exe; builtin pour Python 3.4) pour
pip install lxml
- distutils utilise Visual Studio C++ 2010 Express pour compiler
Les dernières lignes de mon erreur, enregistré par le pip:
cl : ligne de Commande avertissement D9025 : le remplacement de "/W3' avec '/w'
lxml.programme etree.c
C:\Users\NATHAN~1\AppData\Local\Temp\pip_build_nathanielanderson\lxml\src\lxml\includes\etree_defs.h(9)
: fatal error C1083: Impossible d'ouvrir le fichier include: 'libxml/xmlversion.h':
Aucun fichier ou répertoireC:\Python34\lib\distutils\dist.py:260: UserWarning: Inconnu
l'option de distribution: 'bugtrack_url'avertissements.avertir(msg)
erreur: commande 'C:\Program Files\Microsoft Visual Studio
10.0\VC\BIN\cl.exe' a échoué avec l'état de sortie 2
Donc je ne peux pas installer de la .de l'œuf ou de la compilation...
Recours
Je ne peux pas trouver de programme d'installation de Windows (exe ou msi ou autre) pour cette version de Python
Ressemble à Chris ne fournir un accès direct exe ici:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
Merci, Chris! Des idées pourquoi je ne peut pas compiler à l'aide de pip?
source d'informationauteur The Red Pea
Vous devez vous connecter pour publier un commentaire.
J'ai aussi eu ce problème, mais les solutions de contournement fournies ci-dessus ne sont pas de travail pour moi.
Voici la configuration de mon système:
J'ai essayé d'utiliser la méthode dans le premier lien dans la questions Liéesmais c'est un échec. Cette méthode consiste à créer une variable système pour vs2010 utilisation, et la variable est en fait la copie de ma configuration d'origine dans visual studio 2013.
Cependant, la ligne de commande invité d'erreur avec "libxml/xmlversion.h" pas de sucer le fichier ou le répertoire
Puis j'ai encore cherché sur internet et j'ai obtenu une méthode qui fonctionne dans mon cas.
de télécharger le fichier lxml plugin
Précompilés lxml 3.5: https://pypi.python.org/pypi/lxml/3.3.5#downloads
si votre système est en 64 bits, alors vous pouvez obtenir une version non officielle pour x64 ici: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml (c'est ce que j'utilise)
de l'installation avec la commande en ligne de commande easy_install lxml-3.2.1.win32-py3.3.exe
Référence: https://pytools.codeplex.com/workitem/1520
Si vous utilisez python 3.4 c'est le lien de téléchargement :
Télécharger Ici
Si vous avez toute autre configuration de trouver ICI en fonction de votre besoin. 😉
La version courte est: Vous devez disposer de la bibliothèque C
libxml2
(et aussilibxslt2
) avant de construirelxml
.Comme le
lxml
documents d'installation dire:La construire à partir de la source de docs de même commencer avec:
Windows (contrairement à la plupart des autres plates-formes) ne vient pas avec ces bibliothèques. Vous ne dites pas n'importe quoi dans vos "Faits".
Et le message d'erreur que tu as montré est:
Que
'libxml/xmlversion.h'
qu'il ne peut pas trouver est une partie delibxml2
.Il est également intéressant de noter que la même installation docs explicitement dire:
Donc, le fait que vous pensiez que Christoph Gohlke n'ai pas de fournir des binaires pour
lxml
suppose que tu n'avais pas trouvé ces docs.Il est donc possible que vous n'avez installer
libxml2
mais pas d'une manière quilxml2
'script d'installation de la trouver. Mais toutes les preuves implique qu'il est beaucoup plus probable que vous n'avez tout simplement pas.