假设我的项目结构如下所示:
app/
main.py
modules/
__init__.py
validation.py
configuration.py
modules 包包含可重用的代码。 main.py 执行主要的应用程序逻辑。
当我在 main.py 中尝试这个时
from modules import validation
我收到一条错误消息,指出验证中的导入失败。验证尝试导入配置,但我得到“没有名为配置的模块”
我在 Windows 上使用 Anaconda 发行版。
在包开发过程中处理 PYTHONPATH 的最佳方式是什么?
有没有一种方法可以利用 virtualenv(或 conda env)在 PYTHONPATH 上获取正在开发的包,而无需从代码中更改 sys.path?
开发包时的首选做法是什么?
我也试过将模块(文件夹)包添加到 lib/site-packages 但它仍然没有用。
最佳答案
将 validation.py
中的导入更改为:
from . import configuration
这是 Python 3 所必需的,但也适用于 Python 2。
关于包开发过程中的python路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33470052/