python 包开发过程中的路径

python path during development of a package

假设我的项目结构如下所示:

app/
    main.py
    modules/
        __init__.py
        validation.py
        configuration.py

modules 包包含可重复使用的代码。 main.py 执行主应用程序逻辑。

当我在 main.py

中尝试此操作时
from modules import validation

我收到一条错误消息,提示导入验证失败。验证尝试导入配置,我得到 'no module named configuration'

我在 windows 上使用 Anaconda 发行版。

在包开发过程中处理 PYTHONPATH 的最佳方式是什么?

有没有一种方法可以利用 virtualenv(或 conda env)在 PYTHONPATH 上获取正在开发中的软件包,而无需更改 sys.path代码 ?

开发包时的首选做法是什么?

我也试过将模块(文件夹)包添加到 lib/site-packages 但它仍然没有用。

validation.py 中的导入更改为:

from . import configuration

这是 Python 3 所需要的,但也适用于 Python 2。