假设我的项目结构如下:
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中,但它仍然无效。
答案 0 :(得分:1)
将validation.py
中的导入更改为:
from . import configuration
这是Python 3所必需的,但也适用于Python 2.