Sto usando python 2,7.5 su mac 10.7.5, beautifulsoup 4.2.1. Sto analizzando una pagina xml utilizzando la libreria lxml, come insegnato nel tutorial di beautifulsoup. Tuttavia, quando si esegue il mio codice, mostraCome reinstallare lxml?
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested:
lxml,xml. Do you need to install a parser library?
Sono sicuro che ho già installato lxml con tutti i metodi: easy_install, pip, portuali, ecc ho provato ad aggiungere una riga al mio codice per vedere se lxml è installato o meno:
import lxml
Quindi python può semplicemente eseguire correttamente questo codice e visualizzare nuovamente il precedente messaggio di errore, che si verifica sulla stessa riga.
Quindi sono abbastanza sicuro che lxml è stato installato, ma non installato correttamente. Così ho deciso di disinstallare lxml e quindi reinstallarlo usando un metodo 'corretto'. Ma quando si digita in
easy_install -m lxml
mostra:
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
Quindi non so come continuare il mio disinstallazione ...
ho guardato molti messaggi su questo problema su google ma ancora non riesco a trovare alcuna informazione utile.
Ecco il mio codice:
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)
Voglio sapere:
- Come posso disinstallare lxml?
- Come posso installare lxml 'correttamente'? Come faccio a sapere che è stato installato correttamente?
Il suggerimento alla domanda correlata (http://stackoverflow.com/questions/14153221/removed-macports-now-python-is-broken) per disinstallare e reinstallare il problema risolto per me. –
Dato che 'lxml' mancava sulla mia macchina, l'esecuzione di' sudo pip install lxml' ha risolto il problema per me. –
Inoltre, questo passaggio potrebbe essere necessario quando si installa lxml: http://stackoverflow.com/questions/19548011/cannot-install-lxml-on-mac-os-x-10-9 – taylorc93