Search code examples
pythonpython-2.7importerrorpython-moduleeasy-install

ImportError when trying to import Prov Module in Python


I'm getting this error when trying to import a module from the Prov package. Here is the contents of my file:

#!/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')

And here is the output:

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

Any ideas or fixes? I installed Prov using easy_install prov.


Solution

  • I found the error. The name of my file that I was trying to import into was also called prov.py . It was a circular dependency issue.

    Thank you guys for such quick responses!