2015-04-03 13 views
14

Ich versuche lmxl auf meinem Windows 8.1 Laptop mit Python 3.4 zu installieren und kläglich zu versagen.Wie installiere ich lxml unter Windows

Zunächst einmal versuchte ich die einfache und offensichtliche Lösung: pip install lxml. Dies hat jedoch nicht funktioniert. Hier ist, was es:

Downloading/unpacking lxml 
    Running setup.py (path:C:\Users\CARTE_~1\AppData\Local\Temp\pip_build_carte_000\lxml\setup.py) egg_info for package lxml 
    Building lxml version 3.4.2. 
    Building without Cython. 
    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 ** 

    Using build configuration of libxslt 
    C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url' 
     warnings.warn(msg) 

    warning: no previously-included files found matching '*.py' 
Installing collected packages: lxml 
    Running setup.py install for lxml 
    Building lxml version 3.4.2. 
    Building without Cython. 
    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 ** 

    Using build configuration of libxslt 
    building 'lxml.etree' extension 
    C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url' 
     warnings.warn(msg) 
    error: Unable to find vcvarsall.bat 
    Complete output from command C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\CARTE_~1\\AppData\\Local\\Temp\\pip_build_carte_000\\lxml\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\CARTE_~1\AppData\Local\Temp\pip-l8vvrv9g-record\install-record.txt --single-version-externally-managed --compile: 
    Building lxml version 3.4.2. 

Building without Cython. 

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 ** 



Using build configuration of libxslt 

running install 

running build 

running build_py 

creating build 

creating build\lib.win32-3.4 

creating build\lib.win32-3.4\lxml 

copying src\lxml\builder.py -> build\lib.win32-3.4\lxml 

copying src\lxml\cssselect.py -> build\lib.win32-3.4\lxml 

copying src\lxml\doctestcompare.py -> build\lib.win32-3.4\lxml 

copying src\lxml\ElementInclude.py -> build\lib.win32-3.4\lxml 

copying src\lxml\pyclasslookup.py -> build\lib.win32-3.4\lxml 

copying src\lxml\sax.py -> build\lib.win32-3.4\lxml 

copying src\lxml\usedoctest.py -> build\lib.win32-3.4\lxml 

copying src\lxml\_elementpath.py -> build\lib.win32-3.4\lxml 

copying src\lxml\__init__.py -> build\lib.win32-3.4\lxml 

creating build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\__init__.py -> build\lib.win32-3.4\lxml\includes 

creating build\lib.win32-3.4\lxml\html 

copying src\lxml\html\builder.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\clean.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\defs.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\diff.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\ElementSoup.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\formfill.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\html5parser.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\soupparser.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\usedoctest.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\_diffcommand.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\_html5builder.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\_setmixin.py -> build\lib.win32-3.4\lxml\html 

copying src\lxml\html\__init__.py -> build\lib.win32-3.4\lxml\html 

creating build\lib.win32-3.4\lxml\isoschematron 

copying src\lxml\isoschematron\__init__.py -> build\lib.win32-3.4\lxml\isoschematron 

copying src\lxml\lxml.etree.h -> build\lib.win32-3.4\lxml 

copying src\lxml\lxml.etree_api.h -> build\lib.win32-3.4\lxml 

copying src\lxml\includes\c14n.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\config.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\dtdvalid.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\etreepublic.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\htmlparser.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\relaxng.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\schematron.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\tree.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\uri.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\xinclude.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\xmlerror.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\xmlparser.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\xmlschema.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\xpath.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\xslt.pxd -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\etree_defs.h -> build\lib.win32-3.4\lxml\includes 

copying src\lxml\includes\lxml-version.h -> build\lib.win32-3.4\lxml\includes 

creating build\lib.win32-3.4\lxml\isoschematron\resources 

creating build\lib.win32-3.4\lxml\isoschematron\resources\rng 

copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win32-3.4\lxml\isoschematron\resources\rng 

creating build\lib.win32-3.4\lxml\isoschematron\resources\xsl 

copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl 

copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl 

creating build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win32-3.4\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

running build_ext 

building 'lxml.etree' extension 

C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'bugtrack_url' 

    warnings.warn(msg) 

error: Unable to find vcvarsall.bat 

---------------------------------------- 
Cleaning up... 
Command C:\Python34\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\CARTE_~1\\AppData\\Local\\Temp\\pip_build_carte_000\\lxml\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\CARTE_~1\AppData\Local\Temp\pip-l8vvrv9g-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in C:\Users\CARTE_~1\AppData\Local\Temp\pip_build_carte_000\lxml 
Storing debug log for failure in C:\Users\carte_000\pip\pip.log 

Also dann sah ich auf diesem großen und hilfreiche Sache genannt Das Internet und eine Menge Leute haben den gleichen Fehler von libxml2 und libxlst benötigen. Sie empfehlen einen Typen namens Christoph Gohlke's Seite, wo er eine Art binäres Ding für eine Reihe von Paketen anbietet. Sie finden es here (quicklink to the lxml part).

Also, nachdem ich auf der Suche nach libxml2 und libxslt für Pip aufgegeben habe, entschied ich mich, dorthin zu gehen, und eine absolute Tonne von Downloads gefunden. Ich weiß, ich brauche eine 64-Bit-Version, aber ich habe keine Ahnung, welche "cp" ich brauche.

So eine Antwort entweder mir eine Lösung auf der pip Methode oder die Gohlke-Index-Methode wäre toll.

+1

Ziemlich sicher "cp" bedeutet C-Python in diesem Zusammenhang, und Sie sollten die Werte danach mit der Python-Version übereinstimmen, die Sie unterstützen möchten. Also 'cp33' wäre für Python 3.3. – BlackVegetable

+1

Sie brauchen AMD64 3.4 –

Antwort

9

Zuerst, nach den Kommentaren, lud ich die lxml-3.4.2-cp34-none-win_amd64.whl Datei und versuchte, es mit einer pip install zu öffnen, aber es sagte mir nur, es war keine gültige Wheel-Datei auf meinem System oder etwas.

Dann habe ich die win_32 Datei heruntergeladen und es hat funktioniert! Vielleicht liegt es daran, dass ich einen Intel-Prozessor habe und AMD64, wie zu erwarten, nur für AMD-Prozessoren.

+1

Das funktionierte für mich, wenn nichts anderes würde. Vielen Dank. – metamlkshk

17

Oder Sie können auch gehen Sie zu Christoph's Gohlke's Python page und laden Sie dann die richtige LXML-Datei. (Im Allgemeinen, da ich Python 3.4 verwende und ich habe ein Windows, lade ich die lxml-3.4.4-cp34-none-win32.whl)

Gehen Sie zu dem Ordner, in dem es ist. Klicken Sie in den Hintergrund (so nichts ist selektiert), dann lefftshift + rightclick gleichzeitig und klickt auf Open command window. Geben Sie dann C:/Python34/Scripts/install Pip "Name der Datei SIE GERADE DOWNLOADED.whl"

In diesem Fall handelt es C wäre:/Python34/Scripts/pip install „lxml-3.4.4-cp34 -none-win32.whl "

Jetzt drücken Sie Enter. Dies funktionierte gut für mich, und nachdem Sie das Zitat eingegeben haben, können Sie auch die Tabulatortaste drücken und es sollte die richtige für Sie ausfüllen.

+0

Danke! Auf meinem Win 7 64bit mit Python 3.4 benutzte ich: 'C: \ Python34> pip install lxml-3.4.4-cp34-none-win_amd64.whl' –

1

Diese Anweisungen gelten für Windows7 oder Windows8 mit Python3.4.

jedoch, sie sollten als die Versionen von Python und anderen entsprechenden Voraussetzungen für die verschiedenen Versionen arbeiten ändern/evolve:

  1. Installieren Python3.4:
    1. Laden Sie die letzte Veröffentlichung von Python3.4 von der Download-Seite HERE
      • Direkt-Link für Win32 MSI-Installer ->HERE
    2. einfach das MSI läuft Python zu installieren. Es wird sich in der Registrierung registrieren und in Hinzufügen/Entfernen von Programmen erscheinen.
    3. HINWEIS: meine Anweisungen, die folgen, an, dass Sie installieren Python auf den Standardpfad von C:\python34\ wählen, wenn während des Python Installation Wizard
  2. Fügen Sie die C:\python33\ und C:\python34\scripts Ordner in den Systempfad durch Zugabe von Befragten Verzeichnisse zur Umgebungsvariable PATH von Systemsteuerung> System> Erweiterte Systemeinstellungen (Registerkarte Erweitert)> Umgebungsvariablen (Schaltfläche).
  3. Installieren OpenSSL:
    1. Herunterladen Win32 OpenSSL Seite von HERE für Ihre Windows-Version und PC-Architektur
    2. herunterladen Visual C++ 2008 redistributables für Ihre Windows-Version und PC-Architektur
    3. Download OpenSSL für Ihre Version von Windows und Architektur (die reguläre Version, nicht das Licht)
    4. Fügen Sie das c:\openssl-win32\bin (oder ähnliches) Verzeichnis zu Ihrem PATH hinzu, genauso wie Sie C:\python34 und C:\python34\scripts oben hinzugefügt haben.
  4. installieren Setuptools (get-pip.py sollte Setuptools für Installation), aber nur für den Fall ...
    1. Herunterladen ez_setup.pyHERE und speichern Sie es in C:\python34\scripts
    2. Run C:\python34\scripts> python ez_setup.py
  5. Installieren PIP
    1. Herunterladen get-pip.py von HERE und speichern Sie es in C:\python34\scripts
    2. Run C:\python34\scripts> python get-pip.py
  6. Installieren LXML
    1. Herunterladen LXML 3.4.4 von HERE für Ihre Windows-Version und PC-Architektur
    2. Führen Sie die EXE-Datei
1

Ich stehe auch dieses Problem vor kurzem. pip kann nicht mit der .whl-Datei arbeiten. Anstatt dies zu beheben, installiere ich es durch .exe-Datei. Sie können es von here herunterladen. Bitte wählen Sie die richtige Version Ihres Python. Hoffe, das kann dir helfen.

Verwandte Themen