如何调试Python dragnet模块的失败导入?

时间:2017-03-21 00:53:43

标签: python python-import python-module

我试图使用名为dragnet的python模块: https://pypi.python.org/pypi/dragnet

我对python生态系统缺乏经验。我正在关注该页面上的设置示例。看起来应该是直截了当的。我目前的代码是:

href

我收到错误:

import requests
from dragnet import content_extractor

# fetch HTML
url = 'https://moz.com/devblog/dragnet-content-extraction-from-diverse-feature-sets/'
r = requests.get(url)

# get main article without comments
content = content_extractor.analyze(r.content)

我在OSX上。

Kevs-MBP:bin kev$ python dragnet.py
Traceback (most recent call last):
  File "dragnet.py", line 2, in <module>
    from dragnet import content_extractor
  File "/Users/kev/code/easeread/bin/dragnet.py", line 2, in <module>
    from dragnet import content_extractor
ImportError: cannot import name content_extractor

2 个答案:

答案 0 :(得分:2)

这意味着dragnet模块已安装在您的计算机上,因为它显示了消息

ImportError: cannot import name content_extractor

您可以使用以下命令获取dragnet的可用模块列表。我正在使用debian机器。如果你能看到我的目标对象,那么该模块就存在了。

转到终端并进入python解释器。

varad@adithya-pc ~ $ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import dragnet
>>> dir(dragnet)                                                                                                                                                        
['AllFeatures', 'Blockifier', 'BlockifyError', 'CSSFeatures', 'ContentExtractionModel', 'NormalizedFeature', 'PartialBlock', '__builtins__', '__doc__', '__file__', '__n
ame__', '__package__', '__path__', '_weninger', 'blocks', 'compat', 'content_comments_extractor', 'content_extraction_model', 'content_extractor', 'evaluation_metrics',
 'features', 'kmeans', 'kohlschuetter', 'kohlschuetter_features', 'models', 'readability', 'readability_features', 'util', 'weninger', 'weninger_features_kmeans']      
>>>                                                                                                                                                                     

在debian机器上安装的步骤

 sudo pip install numpy
 sudo pip install cython
 sudo apt-get install libxml2-dev libxslt1-dev python-dev
 sudo pip install dragnet

答案 1 :(得分:0)

好吧显然python不喜欢与你导入的模块共享同名的入口点,所以重命名dragnet.py解决了它