如何解决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

在Project2.1

目录下使用以下命令运行文件tests/data_mining/test_processes .py
$ 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中的一个类

由于您在测试文件夹的data_mining目录中,只能直接访问data_mining文件夹中的文件,并且您不能使用from键入模块的路径,因此您需要添加project2的data_mining文件夹的路径,因此获得(project2)的data_mining的确切路径

import sys
sys.path.append(exact path)
from process import ClassP

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

可以访问其中的所有文件也要记住,在导入时不要使用.py或任何扩展名它就像导入任何其他模块from random import randint一样,例如

: D

最新更新