python - 在 Python 中共享存储在更高目录中的模块和类的最佳实践

标签 python module package

我正在为更大的机器学习应用程序编写一些脚本。为了保持结构良好,我有一些用于不同步骤的子目录,例如

/
/preprocessing (containing preprocess.py)
/training (containing train.py)
/utils (config.py)

所以我想要的是在预处理和训练模块中使用来自 utils 的代码的干净可能性。但是,问题是我直接在子目录中运行代码,例如

cd preprocessing
python3 preprocess.py

所以这意味着预处理是我的主模块,它看不到更高目录中包含的任何内容,因此我也无法从 utils 导入模块。

我知道有一些可能性,包括更改 PYTHONPATH,但我发现这有点难看。每个使用我的代码的人都必须这样做。所以我的问题是是否有一种干净且推荐的方法从父目录或同级目录导入代码。

最佳答案

您可以使用相对导入,如 documentation 中所示。 。因此,您可以在 preprocess 模块中尝试类似的操作:

from ..utils import config

关于python - 在 Python 中共享存储在更高目录中的模块和类的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51650710/

相关文章:

python - 开发简单的窗口 3D 建模应用程序的最佳模块?

module - 在 Prolog 中定义模块

linux - 在 Linux 上将 Racket 包安装为 native 可执行文件

rest - 通过 npm 注册表 REST api 获取有关我的私有(private) npm 包的信息

python - Haystack 和 ElasticSearch : Searching Related Fields; Use nested Type?

python - 当传递给 "numpy.array"时,生成器不工作是一个错误吗?

python - 容器内 conda 的目的是什么?

android - 模块间通信的最佳实践

module - 在 Visual Studio for TypeScript 中拖放 ES6 导入

python - 在 Ubuntu 中查找包的属性