如何在项目中使用 Python 包

How to use the Python package inside a project

我的目录结构如下:

├── DynamicProgramming
│   ├── 0-1_kp_problem.py
│   ├── b.py
│   ├── largest_contigous_subarray.py
│   ├── longest_common_substring.py
│   ├── min_change_for_given_money.py
│   ├── optimal_matrix_chain.py
│   ├── Readme.md
│   └── wis.py
├── helper
│   ├── a.py
│   └── __init__.py
└── Readme.md

helper 目录包含将在所有代码中使用的库函数。如何从 DynamicProgramming 中的脚本导入帮助程序包而不将其添加到路径中?

编辑=>

我无法将 helper 目录移动到 dynamicProgramming 中,因为可以有多个目录使用它。

如果您 运行 项目根文件夹中的代码,您很可能 import helperimport helper.a 成功。如果没有,您必须将当前目录添加到 PYTHONPATH:

$ export PYTHONPATH="."

更好地使用项目setup.py

与其玩 PYTHONPATH(有时会很棘手),您应该将项目创建为 python 包。

您将 setup.py 添加到您的项目根目录中,指定该包的属性并从中构建它。

setup.py可以一次定义多个包,但一般情况下比较频繁 只使用一个。为此,最好移动 helper 包 进入 DynamicProgramming 结构并从那里导入它。

搜索setup.pypython打包教程,需要学习,但有回报

您可以使用类似的东西:

from ..helper import a

See python docs on packages.