web-dev-qa-db-fra.com

Installation de lxml, libxml2, libxslt sur Windows 8.1

Après une exploration supplémentaire, j'ai trouvé une solution pour installer LXML avec pip et wheel. Commentaires supplémentaires sur l'approche bienvenus.

Je trouve la documentation Python existante pour les distributions Linux excellente. Pour Windows ... pas tellement. J'ai bien configuré mon système Linux, mais j'ai également besoin d'aide pour préparer une tablette Windows 8.1.

Mon projet nécessite le module lxml pour Python 3.4. J'ai trouvé de nombreux tutoriels sur l'installation de LXML, mais chacun d'eux a échoué.

https://docs.python.org/3/installing/ J'ai téléchargé le fichier "get-pip.py" et l'ai exécuté avec succès à partir de la ligne de commande cmd de Windows avec le résultat suivant:

Requirement already up-to-date: pip in c:\python34\lib\site-packages

Donc, je ne pense pas que j'ai un problème de "pip". À partir de là, j'ai exécuté ce qui suit à partir de la ligne de commande Windows de Windows:

python -m pip install lxml

Une longue liste de commandes défile, mais il y a quelques lignes qui semblent être des erreurs que je ne peux pas résoudre.

  ERROR: b"'xslt-config' is not recognized as an internal or external command,\r\noperable program or batch file.\r\n"
  ** make sure the development packages of libxml2 and libxslt are installed **

et

Failed building wheel for lxml

Et la dernière partie tout en rouge

Command "C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\Owner\\AppData\\Local\\Temp\\pip-build-ya3n6wkd\\lxml\\setup.py';exec(compi
le(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Owner\AppData\Local\Temp\pip-ytybzl9l-r
ecord\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Owner\AppData\Local\Temp\pip-build-ya3n6wkd\lxml

Toute aide pour comprendre comment cela devrait fonctionner ou ce que je fais de mal serait grandement appréciée.

23
SigmaXD

J'ai pu réparer l'installation en procédant comme suit. J'espère que d'autres trouveront cela utile.

Mon installation de "pip" fonctionnait bien avant le problème. Je suis allé à la ligne de commande Windows et je me suis assuré que "wheel" était installé.

C:\Python34>python -m pip install wheel
Requirement already satisfied (use --upgrade to upgrade): wheel in c:\python34\lib\site-packages

Après cela, j'ai téléchargé le fichier lxml de http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml et je l'ai placé dans mon répertoire python "C:\Python34"

Dans ce répertoire, j'ai exécuté ce qui suit:

C:\Python34>python -m pip install lxml-3.4.4-cp34-none-win32.whl

Les résultats ont été:

Processing c:\python34\lxml-3.4.4-cp34-none-win32.whl
Installing collected packages: lxml
Successfully installed lxml-3.4.4

J'ai ouvert PyCharm et le module LXML était disponible. J'ai pu exécuter le code sans problème.

Ce que j'ai appris (bien que cela puisse être corrigé par d'autres plus compétents)

  1. Vous devez installer le module souhaité (sous forme de fichier "* .whl") à l’aide de pip et wheel.
  2. L'utilisation de Dropbox pour partager un dossier de code avec différentes installations de PyCharm est source de confusion pour le fichier "workspace.xml". Les deux ordinateurs continuaient de s’écrire, dérangeant les chemins d’installation. 

J'espère que cela t'aides.

59
SigmaXD

Ma situation ressemblait beaucoup à ça. Python 3.4 est installé sur mon ordinateur portable pour le travail et la sécurité est stricte. Je ne peux donc pas installer 3.5 uniquement sans que l'administrateur système ne le fasse.

J'ai donc consulté le site Python Extension ici:

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

Tiré le fichier de roue pour lxml qui correspond à mes spécifications:

lxml-3.6.4-cp34-cp34m-win_AMD64.whl

Et puis juste tapé:

pip install lxml-3.6.4-cp34-cp34m-win_AMD64.whl

Et ça s'est installé tout de suite.

5
RockAndRoleCoder

Ce problème semble être résolu à partir de la version 4.2.5 de lxml.

Si vous obtenez toujours cette erreur et que vous spécifiez une version spécifique de lxml dans un fichier de configuration requise, essayez de mettre à jour le fichier de configuration requise afin de spécifier la version 4.2.5 ou ultérieure de lxml.

J'ai eu cette erreur avec LXML 4.2.1. Mais cela a été corrigé lorsque j'ai modifié l'exigence en Lxml 4.2.5.

0
Roger Iyengar

J'ai commencé à travailler avec lxml il y a quelques instants, lorsqu'il était nécessaire d'analyser des fichiers html. Je l'ai en quelque sorte installé et puis après un certain temps, j'ai perdu l'installation à cause du format PC. 

L'installation de lxml sous Windows à partir des fichiers binaires/roues disponibles est assez simple. Le lien ci-dessous contient les fichiers binaires/roues au cas où vous en auriez besoin.

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

Après avoir téléchargé le fichier wheel selon votre Windows, vous pouvez exécuter la commande ci-dessous pip install <pathtoyourdownloadedwheelfile>

Et si vous utilisez git-sdk-win32 pour Windows, vous pouvez d’abord rechercher le libxml2-devel, libxml2-python et le libxslt-devel, libxslt-python en utilisant pacman en lançant la commande ci-dessous.

pacman -Ss libxml2

et 

pacman -Ss libxslt

alors vous pouvez installer lxml en utilisant la commande ci-dessous

pip install lxml Il se peut que la roue ne soit pas construite (comme elle l’a fait pour moi) mais elle installera lxml à l’aide du setup.py

J'ai simplement commencé à aimer ce git-win32-sdk. Cela m'aide à travailler sous Windows avec ce que j'ai appris sous Linux.

https://github.com/git-for-windows/build-extra/releases

0
stupidnetizen