从另一个目录导入 python 模块(不在站点包中!)

Import python module from another directory (NOT in site-packages!)

举个例子,我的 python 文件的结构如下:

C:\
  folder1\
    file1.py
  folder2\
    file2.py

让我们假设在模块 file1 中有一个名为 Class1 的 class(如果您愿意,还有一个空的 __init__.py 文件)。如何在 file2 中导入 Class1?尝试从 folder1 导入时,我总是得到“ImportError: No module named folder1”; sys.path.insert(0, '../folder1')”之类的东西对我不起作用

我是否必须将 "C:\" 添加到系统环境变量 "PATH" 中(注意我 不是 在 site-packages 文件夹中工作)?

您需要在两个文件夹中都有 __init__.py

然后可以使用sys模块动态追加到python路径

sys.append.path(../folder1)

from file1 import Class1 现在可以使用了。 (在 Linux 上测试)

但是你还是做不到from folder1.file1 import Class1