假设我正在开发一个名为 mymodule 的 python 项目,并且我具有以下目录结构:
mymodule/
README
setup.py
mymodule/
__init__.py
foo.py
bar.py
在开发过程中,我通常在mymodule
包含所有源文件的内部文件夹中工作。因此,如果我正在处理foo
并想从 导入一些东西bar
,我会做这样的事情:
from bar import myfunction
在开发过程中一切正常。当我想部署我的模块时会出现问题。如果我将模块安装到我正在处理的另一个项目中,我的代码将不再有效,因为需要像这样导入模块:
from mymodule.bar import myfunction
我可以将所有导入更改mymodule
为使用这种格式,但这意味着该模块将不再在开发中工作。当我为部署修复代码时,我会为了开发而破坏它,反之亦然。
我究竟做错了什么?