我正在考虑如何安排一个已部署的 python 应用程序,该应用程序将具有
- 位于 /usr/bin/ 中的可执行脚本,它将为实现的功能提供 CLI
- 安装到当前站点包目录所在位置的库。
现在,目前,我的源代码中有以下目录结构:
foo.py
foo/
__init__.py
...
我想这不是做事的最佳方式。在开发过程中,一切都按预期工作,但是在部署时,foo.py 中的“from foo import FooObject”代码似乎试图导入 foo.py 本身,这不是我正在寻找的行为。
所以问题是编排这种情况的标准做法是什么?我能想到的一件事是,在安装时,将 foo.py 重命名为 foo,这会阻止它自行导入,但这似乎很尴尬......
我想,问题的另一部分是命名挑战。也许调用可执行脚本 foo-bin.py?