How to re-install lxml?
Ich bin mit python 2,7.5 auf mac 10.7.5, beautifulsoup 4.2.1. Werde ich parse eine xml-Seite mit der lxml-Bibliothek, wie gelehrt in der beautifulsoup tutorial. Jedoch, wenn ich meinen code, es zeigt
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested:
lxml,xml. Do you need to install a parser library?
Ich bin mir sicher, dass ich es schon installiert lxml von allen Methoden: easy_install, pip, port, etc. Ich habe versucht, fügen Sie eine Zeile in meinem code zu sehen, wenn lxml installiert ist oder nicht:
import lxml
Dann python kann nur erfolgreich gehen zu diesem code und Anzeige der vorherigen Fehlermeldung wieder, die in der gleichen Zeile.
Also ich bin mir ganz sicher, dass lxml installiert wurde, aber nicht korrekt installiert. So beschloss ich, zu deinstallieren, lxml, und dann re-installieren Sie die "richtige" Methode. Aber wenn ich in
easy_install -m lxml
zeigt es:
Searching for lxml
Best match: lxml 3.2.1
Processing lxml-3.2.1-py2.7-macosx-10.6-intel.egg
Using /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml-
3.2.1-py2.7-macosx-10.6-intel.egg
Because this distribution was installed --multi-version, before you can
import modules from this package in an application, you will need to
'import pkg_resources' and then use a 'require()' call similar to one of
these examples, in order to select the desired version:
pkg_resources.require("lxml") # latest installed version
pkg_resources.require("lxml==3.2.1") # this exact version
pkg_resources.require("lxml>=3.2.1") # this version or higher
Processing dependencies for lxml
Finished processing dependencies for lxml
So, ich weiß nicht, wie es weiter meine deinstallieren...
Ich sah viele Beiträge über dieses Problem bei google aber ich finde keine nützliche info.
Hier ist mein code:
import mechanize
from bs4 import BeautifulSoup
import lxml
class count:
def __init__(self,protein):
self.proteinCode = protein
self.br = mechanize.Browser()
def first_search(self):
#Test 0
soup = BeautifulSoup(self.br.open("http://www.ncbi.nlm.nih.gov/protein/21225921?report=genbank&log$=prottop&blast_rank=1&RID=YGJHMSET015"), ['lxml','xml'])
return
if __name__=='__main__':
proteinCode = sys.argv[1]
gogogo = count(proteinCode)
Möchte ich wissen:
- Wie kann ich deinstallieren lxml?
- Wie kann ich der Installation von lxml 'richtig'? Woher weiß ich, dass es richtig installiert ist?
InformationsquelleAutor der Frage Mark23333 | 2013-07-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mit BeautifulSoup 4.3.2 und OS X 10.6.8. Ich habe auch ein problem mit nicht ordnungsgemäß installiert
lxml
. Hier sind einige Dinge, die ich herausgefunden habe:Überprüfen Sie zunächst diese Frage: Entfernt MacPorts, jetzt Python ist gebrochen
Nun, um zu überprüfen, welches Bauherren für BeautifulSoup 4 installiert sind, versuchen Sie
Wenn Sie nicht sehen, Ihre Lieblings-generator, dann ist es nicht installiert ist, sehen Sie eine Fehlermeldung wie oben ("Couldn' T find a tree builder...").
Auch, kann man da nur
import lxml
sind, bedeutet nicht, dass alles perfekt ist.Versuchen
Zu verstehen, was Los ist, gehen Sie auf die
bs4
installation und öffnen Sie das ei (tar -xvzf
). Beachten Sie die Modulebs4.builder
. Im inneren sollten Sie die Dateien wie_lxml.py
und_html5lib.py
. So können Sie auch versuchen,Wenn es ein problem gibt, werden Sie sehen, warum ein parricular Modul nicht geladen werden kann. Sie können feststellen, wie am Ende
builder/__init__.py
lädt es all jene Module und ignoriert, was wurde nicht geladen:InformationsquelleAutor der Antwort osa
Wenn Sie mit Python2.7 in Ubuntu/Debian, dieser arbeitete für mich:
Testen wie:
InformationsquelleAutor der Antwort Mona Jalal
FWIW, ich lief in ein ähnliches problem (python-3.6, os x 10.12.6) und war in der Lage, es zu lösen, indem Sie einfach tun (der erste Befehl ist nur zu bedeuten, dass ich arbeitete in einem conda virtualenv):
Ich habe versucht, kompliziertere Dinge zuerst, weil BeautifulSoup richtig gearbeitet wurde mit einer identischen Befehl durch Jupyter+iPython, aber nicht durch PyCharm-terminal in der gleichen virtualenv. Einfach Neuinstallieren lxml wie oben das problem gelöst.
InformationsquelleAutor der Antwort basse
apt-get unter Debian/Ubuntu:
sudo apt-get install python3-lxml
Für MacOS-X, ein macport von lxml ist verfügbar. Versuchen Sie so etwas wie
sudo port install py27-lxml
http://lxml.de/installation.html kann hilfreich sein.
InformationsquelleAutor der Antwort Michael