ModuleNotFoundError: No module named 'src' (Python)

ModuleNotFoundError: No module named 'src' (Python)

我知道这个问题之前已经被问过多次,但即使在使用绝对路径之后我也无法解决这个导入错误

我想从 functions.py

导入 extensions

functions.py

from src.Categorize_CLI.extensions import *

错误

(.venv) PS D:\Python\Categorize-CLI> & d:/Python/Categorize-CLI/.venv/Scripts/python.exe d:/Python/Categorize-CLI/src/Categorize_CLI/services/key_functions.py
Traceback (most recent call last):
  File "d:\Python\Categorize-CLI\src\Categorize_CLI\services\key_functions.py", line 4, in <module>
    from src.Categorize_CLI.extensions import *
ModuleNotFoundError: No module named 'src'

更新

我删除了 src 文件夹,使 Categorize_CLI 成为顶级模块,但我仍然遇到相同的错误:

Traceback (most recent call last):
  File "d:\Python\Categorize-CLI\Categorize_CLI\main.py", line 4, in <module>
    from services.functions import *
  File "d:\Python\Categorize-CLI\Categorize_CLI\services\functions.py", line 6, in <module>
    from secondary_functions import *
ModuleNotFoundError: No module named 'secondary_functions'

此错误来自 运行 main.py

在main.py

中导入语句
from services.functions import *

当前文件结构

Categorize-CLI
├── Categorize_CLI
│   ├── main.py
│   ├── __init__.py
│   ├── services
│   │   ├── extensions.py
│   │   ├── functions.py
│   │   ├── secondary_functions.py
│   │   └── __init__.py
├── README.md
└── .gitignore

我如何从 secondary_functions 导入 extensions:

from extensions import *

我试图克隆您的项目以尝试了解发生了什么。我没有从您问题中的图像中清楚地理解您的文件结构。

  1. 您不需要将 src 声明为模块。您的顶级模块应该是 Categorize_CLI (src/Categorize_CLI)。您应该删除 src/__init__.py.

  2. 由于secondary_functions.pyextensions.py都已经在顶层模块中,你不需要命名来引用它,你可以简单地导入extensionssecondary_functions

# secondary_functions.py
from extensions import *

如果您在 main.py

中使用 from secondary_functions import *,此方法有效