Python 从另一个文件夹中的脚本调用时未在同一文件夹中找到模块

Python not finding module in same folder when called from a script in another folder

我有一组 Python 交互脚本。我从父目录 (parent/main.py) 调用我的“主”脚本,它从子目录 (parent/child/foo.py) 中的脚本 foo 导入函数,而该脚本又从另一个程序栏导入函数(parent/child/bar.py)。当我尝试 运行 main.py.

时收到 bar.py 的 ModuleNotFoundError

我阅读了命名空间模块,据我所知,我没有做错任何事情,显然“from child.foo import myfunc”应该没问题?

堆栈跟踪,每个请求:

Traceback (most recent call last):
  File ".\main.py", line 2, in <module>
    import child.foo
  File "C:\biglongpath\parent\child\run_n1.py", line 1, in <module>
    from bar import myfunc as mf
ModuleNotFoundError: No module named 'bar'

在Python3.x中你需要写:

from child.foo import myfunc

在 Python 2.7:

您应该在每个子目录中包含一个 __init__.py 文件(即使它是空的)。