我希望这个问题有一个简单的答案,而我只是忽略了。
这是设置:
foo/
__init__.py
run.py
run.py 的内容:
import foo
运行脚本:
$ python run.py
Traceback (most recent call last):
File "run.py", line 1, in <module>
import foo
ImportError: No module named foo
我能想出解决这个问题的唯一方法是:
run.py 的内容:
import sys
import os
path = os.path.abspath(__file__)
sys.path.append(os.path.join(os.path.dirname(path), "../"))
import foo
这样就可以了,但是问题(如果我没记错的话)是这会将 foo/ 的父目录添加到sys.path
并因此搜索 foo/ 的所有同级文件夹以查找 Python 模块。
我有一个案例,我真的,真的不想那样做。我只想将单个目录作为模块添加到我的路径中,但我无法弄清楚如何在不添加该目录的父目录以及该父目录下的所有其他目录的情况下添加该模块。
我在这里忽略了什么吗?有没有一种简单的方法可以将脚本的父文件夹添加为模块?