2017-01-25 8 views
0

Provパッケージからモジュールをインポートしようとすると、このエラーが発生します。 は、ここに私のファイルの内容は次のとおりです。PythonでProvモジュールをインポートしようとすると、ImportErrorが発生する

#!/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をインストールしました。

答えて

0

エラーが見つかりました。インポートしようとしていたファイルの名前は、また、prov.pyと呼ばれていました。これは循環依存の問題でした。

このような迅速な対応をお寄せいただきありがとうございます。

1

モジュールファイルの名前をprov.pyに変更する必要があります。モジュール名が競合するため、サードパーティのライブラリのインポートを禁止します。

prov.pycが削除されていることを確認してください。

+0

詳しいことはできますか?私がインポートしようとしているファイルは、モデルと呼ばれ、provと呼ばれるファイルからErrorとシリアライザをインポートしようとします。しかし、私はパッケージにprovを見ません。 – Dre

+0

ああ私はそれを修正しました!私が使用していたファイルもprov.pyと呼ばれていたので、循環依存でした。 – Dre

+0

'from provインポートエラー、シリアライザは' prov'をインポートしようとします。 'prov 'パッケージの' prov'の代わりに、 'prov'という名前のモジュールがインポートされます。ファイルの先頭に次の行を追加してください: 'import prov; print(prov) ' – falsetru

関連する問題