我在python中有以下库设置:
library
| - __init__.py
| - lib1.py
| - ...
| - tools
| - __init__.py
| - testlib1.py
所以换句话说,该目录library
包含python模块和目录tools
,它是一个子目录,library
包含例如一个testlib1.py
用于测试库的文件lib1.py
。
testlib1.py
因此需要lib1.py
从上面的目录导入来做一些测试等,只需python testlib1.py
从计算机上的某个地方调用,假设文件在搜索路径中。另外,我只想PYTHONPATH
指定一个。
但是我们都知道下面的想法 fortestlib1.py
是行不通的,因为相对导入是行不通的:
from .. import lib1
...
do something with lib1
我接受两种答案:
- 一个答案,它描述了如何仍然可以
testlib1.py
直接调用作为正在执行的 python 脚本。 - 一个解释模块等概念设置的更好的答案,前提是所有内容都必须位于目录中
project
,并且工具必须位于与实际库不同的目录中。
如果有不清楚的地方,我建议问,我会更新问题。