Probleme bei der Installation von lxml / libxml2 / wheel / bdist_wheel / Shareplum

Probleme bei der Installation?
Antworten
Phulc
User
Beiträge: 5
Registriert: Montag 7. November 2022, 18:26

Liebes Forum,

ich nutze PyCharm in der Community-Edition und habe eine VirtualEnvironment/virtuelle Umgebung erstellt. In PyCharm kann ich ja bequem die benötigten Bibliotheken installieren. Alles was ich so brauche hat funktioniert, mit einer Ausnahme: SharePlum. Dort wiederum kommen elend lange Fehlermeldungen, die auf Fehler in lxml, libxml2, wheel usw. hinweisen. Meine Versuche, zunächst diese Bibliotheken zu installieren, scheitern leider auch.

Die Fehlermeldungen sind so vielfältig, dass ich gar nicht weiß, was ich hier posten soll. Vielleicht könnt Ihr mir das sagen?

Das System ist Windows Server 2019 Standard.

Kann mir jemand helfen? Wo fange ich an?

Danke schon mal und beste Grüße,

Phulc
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Phulc: Ich würde erst ``wheel`` installieren. Und wenn das funktioniert hat SharePlum. Wenn ``wheel`` nicht installiert ist, kann es sein, das versucht wird etwas aus C-Quelltexten durch übersetzen selbiger zu installieren was vielleicht als Wheel im Package-Index vorliegt. Das will man unter Windows eher nicht.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

@Phulc: "SharePlum" lässt sich problemlos unter Windows installieren. Möglicherweise gibt es einen Konflikt zwischen Modulen, die du installiert hast.
So ganz ohne Fehlermeldung wird es schwierig, mit einer Lösung zu helfen.
Phulc
User
Beiträge: 5
Registriert: Montag 7. November 2022, 18:26

Sorry für meine späte Antwort, ich bin bissel krank ...

Wheel war wohl doch schon installiert. Shareplum funktioniert nicht. Ich poste jetzt doch mal die Fehlermeldung. Nicht wundern, ich ersetze mal den Benutzernamen und einige Verzeichnisse durch "..."

Hier die Meldung:




Collecting SharePlum
Using cached SharePlum-0.5.1-py2.py3-none-any.whl (25 kB)
Collecting lxml
Using cached lxml-4.9.1.tar.gz (3.4 MB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: requests in c:\... (from SharePlum) (2.28.1)
Requirement already satisfied: ...
...

Building wheels for collected packages: lxml
Building wheel for lxml (setup.py): started
Building wheel for lxml (setup.py): finished with status 'error'
Running setup.py clean for lxml
Failed to build lxml
Installing collected packages: lxml, SharePlum
Running setup.py install for lxml: started
Running setup.py install for lxml: finished with status 'error'

error: subprocess-exited-with-error

python setup.py bdist_wheel did not run successfully.
exit code: 1

[97 lines of output]
Building lxml version 4.9.1.
Building without Cython.
Building against pre-built libxml2 andl libxslt libraries
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\lxml
copying src\lxml\builder.py -> build\lib.win-amd64-cpython-311\lxml
...

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-amd64-cpython-311\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
warning: build_py: byte-compiling is disabled, skipping.

running build_ext
building 'lxml.etree' extension
creating build\temp.win-amd64-cpython-311
creating build\temp.win-amd64-cpython-311\Release
creating build\temp.win-amd64-cpython-311\Release\src
creating build\temp.win-amd64-cpython-311\Release\src\lxml
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc\lxml\includes -IC:\ ... \include -IC:\Users\ ... \AppData\Local\Programs\Python\Python311\include -IC:\Users\ ... \AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /Tcsrc\lxml\etree.c /Fobuild\temp.win-amd64-cpython-311\Release\src\lxml\etree.obj -w
cl : Befehlszeile warning D9025 : "/W3" wird durch "/w" \x81berschrieben
etree.c
C:\Users\ ... \AppData\Local\Programs\Python\Python311\include\pyconfig.h(59): fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "io.h": No such file or directory
Compile failed: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
creating Users
creating Users\...
creating Users\...\AppData
creating Users\...\AppData\Local
creating Users\...\AppData\Local\Temp
creating Users\...\AppData\Local\Temp\2
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -I/usr/include/libxml2 "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /TcC:\Users\...\AppData\Local\Temp\2\xmlXPathInitjhv305as.c /FoUsers\...\AppData\Local\Temp\2\xmlXPathInitjhv305as.obj
xmlXPathInitjhv305as.c
C:\Users\...\AppData\Local\Temp\2\xmlXPathInitjhv305as.c(1): fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "libxml/xpath.h": No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for lxml
error: subprocess-exited-with-error

Running setup.py install for lxml did not run successfully.
exit code: 1

[93 lines of output]
Building lxml version 4.9.1.
Building without Cython.
Building against pre-built libxml2 andl libxslt libraries
running install
C:\...\Lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
...
warning: build_py: byte-compiling is disabled, skipping.

running build_ext
building 'lxml.etree' extension
creating build\temp.win-amd64-cpython-311
creating build\temp.win-amd64-cpython-311\Release
creating build\temp.win-amd64-cpython-311\Release\src
creating build\temp.win-amd64-cpython-311\Release\src\lxml
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc\lxml\includes -IC:\...\include -IC:\Users\...\AppData\Local\Programs\Python\Python311\include -IC:\Users\...\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /Tcsrc\lxml\etree.c /Fobuild\temp.win-amd64-cpython-311\Release\src\lxml\etree.obj -w
cl : Befehlszeile warning D9025 : "/W3" wird durch "/w" \x81berschrieben
etree.c
C:\Users\...\AppData\Local\Programs\Python\Python311\include\pyconfig.h(59): fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "io.h": No such file or directory
Compile failed: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -I/usr/include/libxml2 "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" /TcC:\Users\...\AppData\Local\Temp\2\xmlXPathInit8mwbrx8j.c /FoUsers\...\AppData\Local\Temp\2\xmlXPathInit8mwbrx8j.obj
xmlXPathInit8mwbrx8j.c
C:\Users\...\AppData\Local\Temp\2\xmlXPathInit8mwbrx8j.c(1): fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "libxml/xpath.h": No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

Encountered error while trying to install package.

lxml

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
Benutzeravatar
__blackjack__
User
Beiträge: 13100
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Es wird ja mehr als einmal in der Ausgabe gefragt: Ist libxml2 denn installiert? Also nicht nur die DLL sondern auch die Entwicklungsdateien und das so, dass sie der C-Compiler finden kann‽
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Man könnte auch einfach Python 3.10 nehmen, dann gibt es lxml schon vorkompiliert.
Phulc
User
Beiträge: 5
Registriert: Montag 7. November 2022, 18:26

Zunächst mal: Ich bin alles andere als Python-Profi. Bislang habe ich alles, was ich an Bibliotheken gebraucht habe, problemlos über PyCharm oder über "pip install" geholt. Da hat immer alles funktioniert, ich musste mir keine Gedanken darüber machen, ob der Compiler die Bibliothek findet. Insofern ist das hier total Neuland und ich kenne noch nicht mal die Basics. (Mir ist war, was ein Compiler macht, offenbar fehlt dem die Bibliothek, soweit klar.)

Vermutlich ist libxml2 nicht oder nicht richtig installiert. Wie mache ich das denn? Mit pip oder per PyCharm geht's nicht, oder?

Python 3.10 ... kann ich probieren. Ich hab 3.11 drauf. Ich würde aber lieber die entsprechenden Sachen nachinstallieren, statt auf einer irgendwann älteren Python-Version "festzusitzen".

Schon mal Tausend Dank für Eure Mühen!
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na 3.11 ist nun mal der Grund für deine Malaise. Wer cutting edge Versionen benutzt, muss Bibliotheken eben mit compilern und Quellen selber bauen, weil die noch nicht verfügbar sind. Und 3.10 ist nicht alt. Das dauert noch ein paar Jahre, bis das ausläuft.
Phulc
User
Beiträge: 5
Registriert: Montag 7. November 2022, 18:26

Ah, ok. Ich dachte, 3.11 ist offiziell released. Wird auf python.org oben als "Standard-Download" angezeigt, deshalb hatte ich die Version genommen.

Hab 3.10 draufgehauen und es funktioniert.

Nochmal ganz lieben Dank!
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Es ist released. Aber du installierst Pakete von dritten. Die brauchen nun mal ein bisschen, bis sie nachgezogen haben. Wenn Apple eine neues iPhone raus bringt, hat dein billiger Jakob um die Ecke auch noch nicht am gleichen Tag ne Hülle dafür.
Phulc
User
Beiträge: 5
Registriert: Montag 7. November 2022, 18:26

Ok, verstanden. Danke.
Antworten