出现这个问题主要有两种情况:一种是第三方包没有;另一种是在同一项目下的自建的包没有导入进来,包明明存在,但是系统就是找不到它;
1、先说第一种情况,第三方的包没有;按照步骤安装第三方包就可以了。
2、第二种,自建的包导入失败。
首先来了解下,为什么会出现这个问题;这个和import的导入机制有关,可以去这个链接下了解一下:https://www.jb51.net/article/51815.htm
简单的说就是sys.path这个目录下没有找到需要导入的模块。我们将需要导入的模块加入到这个sys.path中不会报错了。这里又两种方法:
第一种:在setting里面,将包设置为Sources。
第二种:在代码里面加把路径加到sys.path目录中;
import os
import sys
admin_root = os.path.dirname(os.path.dirname(__file__))
sys.path.append(admin_root)
(这里加的不一定是这个代码,只是类似这样的代码。根据自己的项目来,只要最后把你项目的路径加到系统路径中就可以了)
这个方法有个缺点是,每个模块里面都要加;优点是,当别人克隆你的代码到另外的环境运行的时候,可以直接运行而不报错,不需要另外配置环境了。
pycharm导入新项目,运行时提示ModuleNotFoundError: No module named 'XXX'