예 : 나는 module.py
를 가져 bar.py
에 절대 가져 오기를 사용할 수있는 방법 모듈이같은 이름의 모듈을 사용하여 절대 경로로 가져 오는 방법은 무엇입니까?
/home/user/tmp/testPath/
|-- foo
| |-- bar.py
| |-- foo.py
| |-- __init__.py
| `-- module.py
`-- test_package.py
foo.py
을 임명했다 패키지 foo
이? from foo import module
과 import foo.module
을 시도했지만 항상 생각합니다. foo is from foo.py
아니면 항상 패키지 이름과 동일한 이름의 모듈 파일 이름을 사용하지 않아야합니까?
foo.py
print 'you are in foo.py'
import foo
print 'foo', foo
bar.py
print 'you are in bar.py'
import foo
print 'foo from bar', foo
from foo import module
# import foo.module
test_package.py
import sys
sys.path.insert(0, '/home/user/tmp/testPath')
import foo.bar
하지만 오류 메시지
you are in bar.py
you are in foo.py
foo <module 'foo.foo' from '/home/user/tmp/testPath/foo/foo.py'>
foo from bar <module 'foo.foo' from '/home/user/tmp/testPath/foo/foo.py'>
Traceback (most recent call last):
File "/home/user/tmp/testPath/test_package.py", line 5, in <module>
import foo.bar
File "/home/user/tmp/testPath/foo/bar.py", line 8, in <module>
from foo import module
ImportError: cannot import name module
이다