首页 > 解决方案 > 如何解决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_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 是 project2/data_mining/process.py 中的一个类

标签: python-3.ximportpython-module

解决方案


由于你在tests文件夹的data_mining目录下,只能直接访问data_mining文件夹内的文件,不能输入module的路径from,需要加上data_mining文件夹的路径project2,这样才能准确data_mining 的路径(project2 的)

import sys
sys.path.append(exact path)

from process import ClassP

这将附加该文件夹的路径,并使其中的所有文件都可以访问import system

还要记住我们在导入它时不使用.py或任何扩展,就像导入任何其他模块from random import randint一样

:D


推荐阅读