2014-11-07 3 views
1

파이썬 스크립트에서 모듈을 가져 오려고하는데 작동하지 않습니다. 그래서 파이썬 스크립트가 있습니다. /home/user/pythonscript/oneDir/onescript.py 그리고 계층 구조가 상위 인 디렉토리를 사용하고 싶습니다. /home/user/pythonscript/common.py 나는 내 onescript.py의 상단에 다음과 같은 한 : 내 common.py 파일에서파이썬 모듈 함수가 정의되지 않았습니다.

import sys 
sys.path.insert(1,'/home/user/pythonscript') 
import common 

을, 나는 함수 onecConnect이, 내가, onescript.py 실행하려고하면 내가 얻을 기능을 onecConnect 사용하는 다음 오류 : nameError : name 'onecConnect'가 정의되지 않았습니다.

누구든지 내가 뭘 잘못했는지 또는 잊어 버린 것을 볼 수 있습니까? 감사합니다.

+0

오류의 역 추적은 무엇입니까? –

+0

'onecConnect()'또는'common.onecConnect()'를하고 계십니까? – Kevin

+0

콘솔에서 볼 수있는 유일한 것은 Traceback (대부분의 recet 호출 마지막)입니다 : 파일 "onescript.py"에 줄 onesecript.py = oneConnect() NameError : 'onecConnect'이름이 정의되지 않았습니다. 나는 onecConnect , common.onecConnect (나는 그것을 시도하고 오류를 잔뜩 가지고있어) –

답변

1

모든 디렉토리에 __init__.py이 있는지 확인하고 /home/user/pythonscript으로 이동하여 Python 코드를 실행하십시오. 그래서 : onescript.py에서

python oneDir/onescript.py 

당신은 할 수 있습니다 :

from common import onecConnect 

규칙은 다음과 같습니다

  • 항상 가장 높은 디렉토리 (하지 프로젝트에 가장 깊은)에서 파이썬 스크립트를 실행 .
  • 항상 전체 가져 오기 행을 가져야하며 관련 가져 오기는 없습니다.

이렇게하면 문제가 해결됩니다.

+0

정말 '공통점'에서 사용하려는 각 기능을 가져와야합니까? 공통점을 가져 와서 그 안에있는 모든 기능을 사용할 수 있습니까? –

+0

@MelodieGauthier : 가능합니다. 그것은 귀하의 선호도와 필요한 기능의 수에 따라 다릅니다. –

+0

_ "예, 가능합니다."_. 좋아, 그럼 ... 어떻게하니? – Kevin

관련 문제