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

ImportError when trying to import Prov Module in Python

我在尝试从 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。

您需要重命名您的模块文件 prov.py。它阻止导入 third-party 库,因为模块名称冲突。

确保 prov.pyc 已删除。

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

感谢你们这么快的回复!