如何解决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
我无法理解 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