2017-05-15 5 views
0

나는 library이라는 프로젝트가 있고 그 안에, bookmain이라는 3 개의 폴더가 있습니다. user에는 user_utility.py이 있습니다.PYTHONPATH가있는 모듈을로드 할 수 없습니다.

from user.user_utility import UserUtility 

내가 그렇게 할 수있는 $PYTHONPATH 변수는 무엇입니까 : /User/me/Projects/library/main/main.py에서 I는 import 문을 작성하려합니다, 지금

/User/me/Projects/library/user/user_utility.py 
/User/me/Projects/library/book/book_utility.py 
/User/me/Projects/library/main/main.py 

: 그럼 프로젝트 폴더가 가정 해 봅시다? 내가

EXPORT PYTHONPATH="/User/me/Projects/library 

을 시도했지만 작동하지 않으며, 당신이 명령 줄에서 main.py 직접 호출하는 경우

No module named user.user_utility 
+1

import 할 수있는 모듈이기 위해서 디렉토리는'__init __. py' 파일을 가지고 있어야합니다. –

답변

1

PYTHONPATH으로 혼란스럽게하는 것은 실제로 여기에서는 잘못된 접근입니다. 대신 userbook 폴더를 적절한 모듈/하위 모듈로 변환하십시오. 그렇게하는 경우, 예를 들어 다음과 같이보고 (모두) 그들에 __init__.py -files을 추가해야합니다 : 귀하의 예에서

from user_utility import some_routine 

, 이것은 /User/me/Projects/library/user/__init__.py 될 것이다.

전체 참고로
from user import some_routine 

the python documentation, modules tutorial에서 봐 가지고 다음과 같이 지금 당신은 당신의 main.py - 파일에서이 루틴을 가져올 수 있습니다.

+0

답을 말씀 드리겠습니다. 내가해야할 일은 프로젝트 폴더를 가리키는 것뿐입니다. – bryansis2010

0

을 던져, 당신은 행의 시작 부분에 환경 변수를 설정할 수 있습니다 :

:

PYTHONPATH=/User/me/Projects/Library python main.py 

그렇지 않은 경우에 해당 모듈의 검색 경로를 설정 할 수 있어야한다 사용자 폴더 안에 __init__.py을 넣어해야합니다, 또한

env 

:

export PYTHONPATH=/User/me/Projects/Library 

6,당신은 당신의 환경 변수를 볼 수 있습니다, 확인합니다.

관련 문제