尝试在Python中导入Prov模块时导入ImportError

时间:2017-01-25 23:11:46

标签: python python-2.7 importerror python-module easy-install

尝试从Prov软件包导入模块时出现此错误。 这是我的文件的内容:

#!/usr/bin/env
import sys
egg_path='/Library/Python/2.7/site-packages/prov-1.5.0-py2.7.egg/prov'
sys.path.append(egg_path)
#... rest of code
import model as prov

def main():
    # Create a new provenance document
    d1 = ProvDocument()  # d1 is now an empty provenance document
    # Declaring namespaces for various prefixes used in the example
    d1.add_namespace('now', 'http://www.provbook.org/nownews/')
    d1.add_namespace('nowpeople', 'http://www.provbook.org/nownews/people/')
    d1.add_namespace('bk', 'http://www.provbook.org/ns/#')

    # Entity: now:employment-article-v1.html
    e1 = d1.entity('now:employment-article-v1.html')
    # Agent: nowpeople:Bob
    d1.agent('nowpeople:Bob')

这是输出:

Traceback (most recent call last): File "prov.py", line 6, in <module> import model as prov File "/Library/Python/2.7/site-packages/prov-1.5.0-py2.7.egg/prov/model.py", line 25, in <module> from prov import Error, serializers ImportError: cannot import name Error

任何想法或修复?我使用easy_install prov安装了Prov。

2 个答案:

答案 0 :(得分:1)

您需要重命名模块文件prov.py。它会阻止导入第三方库,因为模块名称冲突。

确保删除prov.pyc

答案 1 :(得分:0)

我发现了错误。我尝试导入的文件名称也称为prov.py。这是一个循环依赖问题。

谢谢你们这么快的反应!