내가 파이썬 프로젝트 이름 인 MyModule 작업, 그리고하고 가정하자 나는 다음과 같은 디렉토리 구조를 가지고 개발하는 동안파이썬 모듈 경로
mymodule/
README
setup.py
mymodule/
__init__.py
foo.py
bar.py
내가 일반적으로 내부 mymodule
폴더에서 작업을 그 안에있는 모든 소스 파일들. 내가 foo
작업 및 bar
에서 무언가를 가져 싶었다 경우이의 때문에, 나는 같은 것을 할 것입니다 :
from bar import myfunction
모든 개발 과정에서 잘 작동합니다. 내 모듈을 배포하려고 할 때 문제가 발생합니다.
from mymodule.bar import myfunction
내가이 형식을 사용하는 mymodule
내 수입의 전부를 변경할 수 있습니다 : 내가 일하고 있어요 다른 프로젝트에 모듈을 설치하는 경우 모듈 대신 다음과 같이 가져올 필요가 있기 때문에, 내 코드는 더 이상 작동하지 않습니다 그러나 이것은 모듈이 개발 과정에서 더 이상 작동하지 않는다는 것을 의미합니다. 배포 용 코드를 수정하면 개발을 위해 중단하고 그 반대의 경우도 마찬가지입니다.
내가 뭘 잘못하고 있니?
경로가 어디에서나 동일합니까? 네가 가진 것처럼 들리 네. ' 한 곳에서 경로의 일부로, 다른 한 곳에서는 그렇지 않습니다. – mlissner
예, 경로는 동일합니다. 물론 모듈 코드에서 파이썬 경로 속임수를 할 수 있기 때문에 작동 할 수 있지만 해킹 인 것 같습니다. 더 좋은 방법이있을 것이라고 확신합니다. 컨벤션이 무엇인지 모릅니다. –