我很难理解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中的以下命令运行文件test/data_mining/test_proecss.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是项目2/data_mining/process.py中的一个类。
发布于 2021-10-12 06:20:48
由于您位于测试文件夹的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
https://stackoverflow.com/questions/69534761
复制相似问题