如何解决python moduleNotFoundError

How to solve python moduleNotFoundError

我无法理解 python 中的模块布局。这是我的目录/文件结构

Project2.1/
├── project2
│   ├── data_mining
│   │   ├── process.py
│   │   └── __init__.py
│   └── __init__.py
└── tests
    ├── data
    │   └── data.csv
    ├── data_mining
    │   ├── __init__.py
    │   └── test_process.py
    └── __init__.py

文件 test_process.py,包含以下导入内容

from project2.data_mining.process import ClassP

运行 文件 tests/data_mining/test_proecss.py 使用目录 Project2.1

中的以下命令
$ cd Project2.1
$ python3 tests/data_mining/test_process.py 

生成错误

  File "tests/data_mining/test_process.py", line 7, in <module>
    from project2.data_mining.process import ClassP
ModuleNotFoundError: No module named 'project2'

ClassP 是 project2/data_mining/process.py

里面的一个 class

由于你在tests文件夹的data_mining目录下,只能直接访问data_mining文件夹内的文件,不能输入模块路径from, 你需要添加 project2 的 data_mining 文件夹的路径,所以得到 data_mining (of project2)

的确切路径

import sys
sys.path.append(exact path)

from process import ClassP

这将附加该文件夹的路径,并使 import system

可以访问其中的所有文件

还记得我们在导入时不使用 .py 或任何扩展 这就像导入任何其他模块 from random import randint 例如

:D