包开发过程中的python路径

标签 python anaconda pythonpath

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

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/

相关文章:

python - 将圆盘形掩码应用于 NumPy 数组中的多个位置

python - 在 python 中导入 fastparquet 时 snappy 出错

python - 哪个是更新所有 anaconda python 包的正确命令?

opencv - 如何使用PythonPath指向新安装的Opencv?

Python numpy 在 cmd 行中找到,但在脚本中没有

PYTHONPATH 不适用于多个路径

python - 如何移动QLabel?

python - 值的长度与索引的长度不匹配

python - 在 Anaconda 中安装包并在 Python 3 中使用它

python - Omnicomplete 包含文档中的函数定义