Python 从一个模块导入函数时导入错误 (ModuleNotFoundError),该模块从另一个模块导入 class

Python Import Error (ModuleNotFoundError) when importing a function from a module that imports a class from another module

我的文件结构如下:

/dir/
    main.py
    /src/
        functionsfile.py
        classfile.py

functionsfile 有一个函数使用 classfile 中创建的 class。我用

导入 class
from classfile import ClassName

(我也试过导入 *)。

只是用 print 语句测试 functionsfile 中的函数,似乎找到了 class 模块并使用 ClassName 就好了,但是当我 importfunctionsfilemain.py 脚本的函数,它给了我错误:

ModuleNotFoundError: No module named 'classfile'

我尝试用两个函数导入函数:

from functionsfile import function

from functionsfile import *

我不知道为什么会这样?

您似乎缺少 __init__.py 文件。将其添加到 /src/ 文件夹后尝试导入。

尝试

from src.classfile import ClassName

最好也改变一下你的目录结构。

/dir
  /src
    /class
       classfile.py
       functionsfile.py
    main.py

正如 Aquarius 所说,您需要在 src 文件夹中创建一个空白 __init__.py 文件

并尝试将其导入为

from src.classfile import *

在您的 main.py 文件中

希望对你有用:D