我有以下目录结构:
├── 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
目录,因为可以有多个目录使用它。
答案 0 :(得分:3)
答案 1 :(得分:2)
如果您从项目根文件夹运行代码,则可能会成功使用import helper
或import helper.a
。如果没有,则必须将当前目录添加到PYTHONPATH:
$ export PYTHONPATH="."
setup.py
您可以将项目创建为python包,而不是使用PYTHONPATH
(有时可能是棘手的事情)。
您将setup.py
添加到项目根目录中,指定该包的属性并从中构建它。
setup.py
可以同时定义多个包,但通常更常见
只用一个。为此,最好移动helper
包
进入DynamicProgramming
结构并从那里导入。
搜索setup.py
python打包教程,需要进行一些研究,但会收回。