2012-12-07 3 views
1

내가 파이썬에서 패키지 내부의 모듈에있는 함수를 가져 오기 위해 노력하고있어,하지만 난하려고하면가져 오기 모듈 무시 __init__.py

from package.module import some_function 

파이썬 패키지의 __init__.py을 실행 만이 할 수있는 일어날 수 없다.

파이썬에 패키지의 __init__.py를 무시하도록 지시하는 함수를 임포트하는 방법이 있습니까? 대답은 아니오입니다

감사

+1

왜 '__init __. py'를 무시 하시겠습니까? –

+1

"무슨 일이 일어날 지 모르겠습니다." 그러나 짧은 대답은 '아니오'입니다. 파이썬이 파일을 무시하도록 말할 수는 없습니다. 당신이'sys.path'를 사용하여 게임을 할 수있는 또 다른 트릭이있을 수 있지만, 해킹이 될 수는 있습니다. 아마도 당신은'__init __. py'가 비어 있도록 일을 재구성 할 수 있습니까? 또는 적어도 원하지 않는 부작용을 유발하지 않습니까? – jszakmeister

+0

http://stackoverflow.com/questions/7533480/why-is-init-py-not-being-called – Vatsal

답변

5

, 당신은 __init__.py가 실행되지 않고 파이썬 패키지를 가져올 수 없습니다. 정의에 따라 패키지를 만들려면 해당 디렉토리에 __init__.py를 넣어야합니다.

그러나 빈 __init__.py 파일을 만들 수 있습니다. 그냥 모듈에서 함수를 가져 오려면

, 당신은 사용할 수 있습니다 :이 더러운 솔루션입니다, 항상 작동하지 않습니다

import sys 
sys.path.append('path_to_package/') 

from module import some_function 

참고.