【发布时间】:2020-05-07 12:49:01
【问题描述】:
python 项目文件层次结构:
parent/
__init__.py
one/
__init__.py
bar.py
two/
__init__.py
foo.py
foo.py
from one import bar
我尝试在其他目录(例如用户/用户)中从终端运行 foo.py,但出现下一个错误:
没有名为一个的模块
当我尝试运行 foo.py 时,我猜它正在尝试从执行代码的目录中导入文件,我尝试了很多方法,但我找不到解决方案,最后我找到了解决方案,这个解决方案的问题是解决方案不够优雅,希望有一个优雅更好的解决方案。
foo.py
from pathlib import Path
import sys
sys.path.append(str(Path(__file__).parent.parent))
sys.path.append("..")
from one import bar
- 此解决方案并不优雅,因为它阻止我将所有导入内容放在页面开头。
【问题讨论】: