Ich möchte Lxml installieren, damit ich dann Scrapy installieren kann.
Wenn ich heute meinen Mac aktualisierte, konnte ich lxml nicht neu installieren. Ich erhalte die folgende Fehlermeldung:
In file included from src/lxml/lxml.etree.c:314:
/private/tmp/pip_build_root/lxml/src/lxml/includes/etree_defs.h:9:10: fatal error: 'libxml/xmlversion.h' file not found
#include "libxml/xmlversion.h"
^
1 error generated.
error: command 'cc' failed with exit status 1
Ich habe versucht, mit lib libxml2 und libxslt zu installieren. Beide sind einwandfrei installiert, aber ich kann lxml immer noch nicht installieren.
Bei der letzten Installation musste ich die Entwicklertools auf Xcode aktivieren, aber da es auf Xcode 5 aktualisiert wurde, gibt es mir diese Option nicht mehr.
Weiß jemand, was ich tun muss?
pip3.4 install lxml
oderSTATIC_DEPS=true pip3.4 install lxml
Befehlen, wenn Sie eine bestimmte Installation für Python3 anstreben (an Ihre Version anpassen, Bash-TAB-Vervollständigung ist Ihr Freund); Damit installieren Sie für die spezifische Version Ihres Zielprogramms, das diese / diese Bibliotheken verwendet. Ansonsten ist es einfach, 30 Minuten damit zu verbringen, die Bibliothek für den falschen Interpreter zu installieren ;-)Antworten:
Sie sollten das Befehlszeilentool für xcode installieren oder aktualisieren. Versuchen Sie dies in einem Terminal:
quelle
Ich habe dieses Problem auf Yosemite durch Installieren und Verknüpfen
libxml2
sowielibxslt
durch Brauen gelöst :Wenn Sie das Problem mit dieser Methode gelöst haben, sie aber zu einem späteren Zeitpunkt erneut angezeigt wird, müssen Sie dies möglicherweise vor den vier obigen Zeilen ausführen :
Wenn Sie mit Homebrew Berechtigungsfehler haben, insbesondere mit El Capitan, ist dies ein hilfreiches Dokument . Versuchen Sie im Wesentlichen, unabhängig von der OS X-Version Folgendes auszuführen:
quelle
xcode-select --install
ist etwas irreführend. Ich stellte fest, dass ich nach dem Upgrade von Mavericks auf Yosemitexcode-select --install
erneut ausgeführt werden musste, um ein Upgrade auf die Befehlszeilentools von Yosemite durchzuführen. Es löste (teilweise) Probleme, auf die ich stieß, und es wäre auf jeden Fall harmlos, redundant zu laufen.Sie können Ihr Problem lösen, indem Sie dies in der Befehlszeile ausführen:
Es hat mir sicher geholfen. Erläuterungen zu Dokumenten
quelle
Ich habe die meisten der oben genannten Lösungen ausprobiert, aber keine davon hat für mich funktioniert. Ich verwende Yosemite 10.10. Die einzige Lösung, die für mich funktioniert hat, war die Eingabe in das Terminal:
BEARBEITEN: Wenn Sie virtualenv verwenden, wird das sudo am Anfang nicht benötigt.
quelle
virtualenv
kein Sudo verwenden, wird es benötigt.OSError: [Errno 1] Operation not permitted: '/usr/bin/build'
obwohl der Befehl als sudo ausgeführt wird. Irgendwelche Ideen?Das hat mich auch schon eine Weile gestört. Ich kenne die Interna nicht genug über Python Distutils usw., aber der Include-Pfad hier ist falsch. Ich habe den folgenden hässlichen Hack gemacht, um mich festzuhalten, bis die Python-Lxml-Leute die richtige Lösung finden können.
quelle
Globale Installation ... OS X 10.9.2
quelle
Installationsanweisungen auf http://lxml.de/installation.html erklären:
quelle
Keines der oben genannten Verfahren hat in 10.9.2 für mich funktioniert, da die Kompilierung mit folgendem Fehler beendet wird:
Was tatsächlich zu einer saubersten Lösung führt (siehe weitere Details in [1]):
oder folgend bei globaler Installation
[1] Clang-Fehler: Unbekanntes Argument: '-mno-fused-madd' (Fehler bei der Installation des Python-Pakets)
quelle
/etc/sudoers
mitsudo visudo
den Umgebungsvariablen zu erhalten.quelle
sudo
die Pip installieren mussten, andere nicht. (Ich hatte Berechtigungsprobleme beim direkten Ausführen von pip install und musste sudo.) Ich kann nur davon ausgehen, dass ich in der fernen Vergangenheit etwas Python-bezogenes als root installiert habe, das bestimmte (System-) Ordner als root anstatt als ich selbst erstellt hat.sudo
.Ich habe dieses Problem behoben,
Yosemite
indem ich die folgenden Befehle ausgeführt habe:quelle
xcode-select install
ich es nicht benötige . Ich habe die neuesten libxml2- und libxlst-Pakete heruntergeladen (für lxml erforderlich), aber vor der Installation dachte ich, ich würde prüfen, ob Yosemite diese Dateien bereits irgendwo hat. Ich habe eine virtuelle Umgebung erstellt (mit virtualenvwrapper) und dann habe ichpip install lxml
lxml fehlerfrei installiert. Ich habe lxml getestet, indem ich die Homepage von Google abgekratzt habe, und das hat gut funktioniert.Bei Homebrew ist libxml2 ausgeblendet, um das System libxml2 nicht zu beeinträchtigen. Daher muss pip ein wenig geholfen werden, um es zu finden.
Mit Bash:
Mit Fisch:
quelle
OSX 10.9.2
quelle
Ich habe alle Antworten auf dieser Seite ausprobiert, keine davon hat für mich funktioniert. Ich verwende OS X Version 10.9.2
Aber das funktioniert definitiv ... wie ein Zauber:
ARCHFLAGS = -Wno-error = nicht verwendetes Befehlszeilenargument-Hard-Error-in-Future pip install lxml
quelle
export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"
Oder Sie können Architekturtypen explizit wieexport ARCHFLAGS="-arch x86_64 -arch i386 -Wno-error=unused-command-line-argument-hard-error-in-future"
Leider
xcode-select --install
hat es bei mir nicht funktioniert, da ich bereits die neueste Version hatte.Es ist sehr seltsam, aber ich habe das Problem gelöst, indem ich XCode geöffnet und die Allgemeinen Geschäftsbedingungen akzeptiert habe. Beim erneuten Ausführen wurden danach
pip install lxml
keine Fehler zurückgegeben.quelle
Nach erfolgreicher Installation von pip (lxml 3.6.4) wurde beim Importieren des Moduls lxml.etree eine Fehlermeldung angezeigt.
Ich habe endlos gesucht, um dies als Voraussetzung für Scrapy zu installieren, und alle Optionen ausprobiert, aber schließlich hat dies für mich funktioniert (Mac OSX 10.11 Python 2.7):
Die ältere Version von lxml scheint mit dem etree-Modul zu funktionieren.
Pip kann die angegebene Version eines Pakets häufig ignorieren, beispielsweise wenn Sie die neuere Version im Pip-Cache haben, also die
easy_install
. Die'-2.7'
Option ist für die Python-Version. Lassen Sie diese Option weg, wenn Sie für Python 3.x installieren.quelle
In meinem Fall muss ich Kaspersky Antivirus vor der Installation von lxml herunterfahren, indem ich :
quelle
Ich verwende OSX 10.9.2 und erhalte den gleichen Fehler.
Die Installation der XCode-Befehlszeilentools hilft für diese bestimmte Version von OSX nicht.
Ich denke, ein besserer Ansatz, um dies zu beheben, ist die Installation mit dem folgenden Befehl:
Dies ähnelt dem Fix von jdkoftinoff, verändert Ihr System jedoch nicht dauerhaft.
quelle
Ich habe die gleiche Frage beantwortet und nach Tagen der Arbeit dieses Problem auf meinem OS X 10.9.4 mit Python 3.4.1 gelöst.
Hier ist meine Lösung,
Laut der Installation von lxml von lxml.de
Wenn Sie MacPort nicht haben, installieren Sie es von MacPort.org . Es ist sehr leicht. Möglicherweise benötigen Sie auch einen Compiler, um die XCode-Kompilierungswerkzeuge zu installieren
xcode-select --install
Zuerst habe ich meinen Port auf die neueste Version aktualisiert über
sudo port selfupdate
,Dann
sudo port install libxml2
tippe ich einfach und einige Minuten später sollte libxml2 erfolgreich installiert sein. Möglicherweise müssen Sie auchlibxslt
lxml installieren. Verwenden Sie zum Installieren von libxslt :sudo port install libxslt
.Jetzt einfach tippen
pip install lxml
, es sollte gut funktionieren.quelle
Fügen Sie vor dem Kompilieren den Pfad zu xmlversion.h in Ihre Umgebung ein.
Stellen Sie jedoch sicher, dass sich in dem von mir angegebenen Pfad die Datei xmlversion.h befindet. Dann,
quelle
pip
hat bei mir nicht funktioniert. Ich ging zu https://pypi.python.org/pypi/lxml/2.3 und lud die macosx .egg-Datei herunter:https://pypi.python.org/packages/2.7/l/lxml/lxml-2.3-py2.7-macosx-10.6-intel.egg#md5=52322e4698d68800c6b6aedb0dbe5f34
Verwenden Sie dann die Befehlszeile
easy_install
, um die.egg
Datei zu installieren .quelle
Dieser Beitrag enthält Links zu einer Lösung, die für mich funktioniert hat: Python3, lxml und "Symbol nicht gefunden: _lzma_auto_decoder" unter Mac OS X 10.9
hth
quelle
Nach langem Zerreißen der Haare und Zähneknirschen habe ich xcode mit pip deinstalliert und ausgeführt:
easy_install lxml
Und alles war gut.
quelle
Versuchen:
Oder:
Es klappt!
quelle