2017-01-25 4 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를 사용하여 Prov를 설치했습니다.

답변

0

오류가 발견되었습니다. 들여 오기를 시도한 파일의 이름을 prov.py라고도합니다. 그것은 순환 종속성 문제였습니다.

빠른 답장을 보내 주셔서 감사합니다.

1

모듈 파일의 이름을 prov.py으로 변경해야합니다. 모듈 이름이 충돌하기 때문에 타사 라이브러리를 가져올 수 없습니다.

prov.pyc이 제거되었는지 확인하십시오.

+0

당신은 정교 할 수 있습니까? 내가 가져 오려고하는 파일은 모델이라고 불리며, prov라는 파일에서 Error 및 Serializers를 가져 오려고합니다. 그러나 패키지에 prov가 표시되지 않습니다. – Dre

+0

아아, 고쳤어! 내 파일은 또한 prov.py라고 불렀다. 그래서 그것은 원형 의존성이었다. – Dre

+0

'prov 가져 오기 오류에서 serializers가'prov'를 가져 오려고합니다. 'prov' 패키지의'prov' 대신'prov'라는 이름의 모듈을 임포트합니다. 파일의 시작 부분에 다음 행을 추가하십시오 :'import prov; print (prov)' – falsetru

관련 문제