this SO answer의 지침에 따라 하위 패키지로 서브 패키지로 된 파이썬 패키지를 만들었습니다. 서브 폴더는 각각 __init__.py
파일입니다 (모두 완전히 비어 있음).).ImportError : 자체 하위 패키지를 가져올 때 ''라는 모듈이 없습니다.
top_module
__init__.py
module_a.py
sub_module
__init__.py
module_c.py
는 내가 최고 수준의 모듈을 수입하지만, ImportError
에 서브 모듈의 결과를 가져 오려고 할 수 있습니다
>>> import top_module
>>> import top_module.sub_module
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named sub_module
iPython에서 나는 나에게 module_a.py
하지만 sub_module
을 보여 top_model.
을 자동으로 완성 할 수 있습니다.
>>> top_module.__file__
'top_module.pyc'
정말 유용하지 않다. 흥미롭게도, __package__
나를 제공 :
>>> print top_module.__package__
None
내가이 작업을 수행 할 수 있습니다
>>> import top_module
>>> import sub_module.module_c
그래서 왜 안 import top_module.sub_module.module_c
를?
이 명령을 실행할 때 어떤 디렉토리에 있습니까? –
좋은 질문입니다. 나는 명령 행에서, top_module 디렉토리에서 또는 b) Spyder에서 top_module 디렉토리가있는 IDE의 "PYTHONPATH manager"도구에 추가되었다. – LondonRob