Ik heb onlangs lxml
geïnstalleerd.
Daarvoor moest ik alle afhankelijkheden daarvoor installeren.
Dus probeerde ik liblxml2-dev
, liblxslt1-dev
en python-dev
te installeren
(Google heeft gezocht naar welke pakketten vereist zijn voor lxml
)
maar zelfs daarna kon ik lxml
niet installeren met het commando
pip install lxml
.
Omdat ik Python 3.4.0 gebruik, dacht ik echter dat er verschillende versies van python-dev
zijn (de gedachte kwam door een vergelijkbaar versieconflictprobleem). Dus probeerde ik python3-dev
te installeren.
Vervolgens probeerde ik lxml
te installeren met hetzelfde commando als eerder genoemd en dat werkte!!!
Ik heb op google gezocht naar die zinnen
en ik kon de betekenis van lxml
en xslt
begrijpen. Ik heb een linkgevonden voor python-dev
maar dat ben ik niet nog steeds zeker wat het eigenlijk doet.
OS – Ubuntu
Antwoord 1, autoriteit 100%
python-dev
python-dev
bevat de headerbestandendie u nodig heeft om Python-extensieste bouwen.
lxml
lxml
is een Python C-API-extensiedie wordt gecompileerd wanneer u pip install lxml
uitvoert. De lxml-bronnen hebben op zijn minst iets als #include <Python.h>
in de code. De compiler zoekt tijdens het compileren naar het headerbestandPython.h
, daarom moeten die headerbestandenop uw systeem staan zodat ze kunnen worden gevonden .
-dev
pakketten op Linux
Op Linux zijn doorgaans de binaire bibliothekenen headerbestandenvan pakketten zoals Pythongescheiden. Je kunt dus Python (bijvoorbeeld pakket python
) laten installeren en alles werkt prima. Maar als je extensieswilt bouwen, moet je het bijbehorende -dev
pakket installeren.
Antwoord 2, autoriteit 18%
python-dev
is het pakket dat de headerbestanden bevat voor de Python C API, die wordt gebruikt door lxml
omdat het Python C-extensies bevat voor hoge prestaties.
Antwoord 3, autoriteit 4%
python-dev bevat alles wat nodig is om python-uitbreidingsmodules te compileren (https://docs. python.org/2/extending/extending.html).
Merk op dat Debian al een lxml-pakket heeft voor python 3 (vermeld op http://lxml.de/installation. html); in het algemeen is het een goed idee om de verpakte versie te gebruiken. Ik stel voor pip uninstall lxml
en dan apt-get install python3-lxml
.