2011-02-10 103 views
0

當我嘗試使用「python feedparser」時出現了一堆錯誤;而在安裝過程中沒有抱怨。 我做一些事情是這樣的:python feedparser錯誤安裝

import feedparser 
url = "http://blogsearch.google.dk/blogsearch_feeds?" + \ 
"q=visitdenmark&output=atom" 
f = feedparser.parse(url) 

和錯誤:從你

f = feedparser.parse(url) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 3798, in parse 
     feedparser.feed(data.decode('utf-8', 'replace')) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 1851, in feed 
     sgmllib.SGMLParser.feed(self, data) 
    File "/usr/lib/python2.6/sgmllib.py", line 104, in feed 
     self.goahead(0) 
    File "/usr/lib/python2.6/sgmllib.py", line 143, in goahead 
     k = self.parse_endtag(i) 
    File "/usr/lib/python2.6/sgmllib.py", line 320, in parse_endtag 
     self.finish_endtag(tag) 
    File "/usr/lib/python2.6/sgmllib.py", line 360, in finish_endtag 
     self.unknown_endtag(tag) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 659, in unknown_endtag 
     self.pop(prefix + suffix) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 868, in pop 
     mfresults = _parseMicroformats(output, self.baseuri, self.encoding) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 2412, in _parseMicroformats 
     p = _MicroformatsParser(htmlSource, baseURI, encoding) 
    File "/usr/local/lib/python2.6/dist-packages/feedparser.py", line 2016, in __init__ 
     self.document = BeautifulSoup.BeautifulSoup(data) 
    AttributeError: 'module' object has no attribute 'BeautifulSoup' 

聽證會,

+0

「導入BeautifulSoup」在python控制檯中工作嗎? – 2011-02-10 17:06:36

回答

3
AttributeError: 'module' object has no attribute 'BeautifulSoup' 

看起來你需要安裝BeautifulSoup:

sudo apt-get install python-beautifulsoup 

PS。您已在/ usr/local中安裝了一個feedparse版本。 還有一個用於feedparser的Ubuntu包:python-feedparser。它可能不是新的,但安裝它會吸引你的所有依賴。

+0

謝謝你的回覆, – user702846 2011-02-10 22:15:09

0

你好!我在feedparser 5.0.1中沒有看到這個;我的猜測是BeautifulSoup的安裝很奇怪,或者您正在運行的feedparser代碼已經以某種方式進行了修改。特別是,如果沒有安裝BeautifulSoup,則微格式解析代碼應該永遠不會運行,所以爲了達到這一點,然後發現模塊中沒有BeautifulSoup類是很奇怪的。

如上所述,就當你運行Python解釋器,你會得到什麼,簡單地鍵入

import BeautifulSoup 
print BeautifulSoup.__file__ 
dir(BeautifulSoup) 
BeautifulSoup.BeautifulSoup 
0

我將分享我是如何解決這個錯誤: 我使用Pydev的基於Eclipse的IDE和錯誤,我是在Pydev的安裝過程中完成的。我選擇了自動配置解釋器。這導致了包含Python 2.7作爲解釋器,從而導致了錯誤。