Tôi đang sử dụng python 2.7.5 trên máy mac 10.7.5, beautifulsoup 4.2.1. Tôi sẽ phân tích một trang xml bằng cách sử dụng thư viện lxml, như được dạy trong hướng dẫn beautifulsoup. Tuy nhiên, khi tôi chạy mã của tôi, nó cho thấyLàm cách nào để cài đặt lại lxml?
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested:
lxml,xml. Do you need to install a parser library?
Tôi chắc chắn rằng tôi đã được cài đặt lxml bởi tất cả các phương pháp: easy_install, pip, cảng, vv Tôi cố gắng thêm một dòng vào mã của tôi để xem nếu lxml được cài đặt hay không:
import lxml
Sau đó, python có thể thực hiện thành công mã này và hiển thị lại thông báo lỗi trước, xảy ra cùng một dòng.
Vì vậy, tôi khá chắc chắn rằng lxml đã được cài đặt, nhưng không được cài đặt đúng cách. Vì vậy, tôi đã quyết định gỡ cài đặt lxml và sau đó cài đặt lại bằng phương pháp 'đúng'. Nhưng khi tôi gõ vào
easy_install -m lxml
nó cho thấy:
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
Vì vậy, tôi không biết làm thế nào để tiếp tục gỡ bỏ cài đặt của tôi ...
Tôi nhìn lên nhiều bài viết về vấn đề này trên google nhưng tôi vẫn không thể tìm thấy bất kỳ thông tin hữu ích nào.
Đây là mã của tôi:
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)
Tôi muốn biết:
- Làm thế nào tôi có thể gỡ bỏ cài đặt lxml?
- Làm cách nào để cài đặt lxml 'chính xác'? Làm thế nào để tôi biết rằng nó được cài đặt đúng?
Đề xuất tại câu hỏi liên quan (http://stackoverflow.com/questions/14153221/removed-macports-now-python-is-broken) để gỡ cài đặt và cài đặt lại đã giải quyết được sự cố cho tôi. –
Vì 'lxml' bị thiếu trên máy tính của tôi, việc thực hiện' sudo pip install lxml' đã giải quyết được vấn đề cho tôi. –
Ngoài ra, bước này cũng có thể cần thiết khi cài đặt lxml: http://stackoverflow.com/questions/19548011/cannot-install-lxml-on-mac-os-x-10-9 – taylorc93