Python 从另一个目录导入时出现 ModuleNotFoundError

Python ModuleNotFoundError while importing from another directory

我有这样的目录结构

-project
    --folder1
        ---file1.py
    --folder2
        ---file2.py

如何从 file2 导入一个函数并在 file1 中使用它? 我试过

import sys
sys.path.insert(0, '../folder2/')
from file2 import foo
foo()

但这行不通。 我试图在每个文件夹中包含 __init__.py,但它也不起作用。 是我的相对路径有误,还是怎么办?

使用import folder2.file2from folder2.file2 import function_name

PS: 你的项目目录应该在python路径

对于简单的解决方案,您可以将“绝对”路径添加到 project 目录,然后将 from folder2.file2 import foo 放入 file1.py 喜欢 :

import sys

sys.path.insert(0, <absolute path to "project" direcotry>)

from folder2.file2 import foo

foo()

现在您可以直接 运行 您的 file1.py,python 会找到 folder2,因此 file2


或者,您可以将“绝对”路径添加到 folder2 目录,然后将 from file2 import foo 放入 file1.py喜欢:

import sys

sys.path.insert(0, <absolute path to "project" folder2>)

from file2 import foo

foo()

现在您可以直接 运行 您的 file1.py,python 会找到 file2