Pycharm中导入模块/第三方库的报错 xxx Not found解决方法

发布时间:2022-05-07 15:58

在Pycharm中,即可通过Run或Terminal直接运行.py文件,也可通过Python Console交互式地运行多行代码。但三者的默认路径不一样,搞不清楚的话容易报错 “xxx not found”

以如下项目架构为例:

图片[1] - Pycharm中导入模块/第三方库的报错 xxx Not found解决方法 - 尘心网

假设要运行的test.py里包含命令:

import Module_A
from Module_B import submodule_B
from Module_C.A_class import a_class
  1. 若在Run中运行test.py,其自动将项目路径(Project_name的路径)和当前工作目录(Module_C的路径)添加到搜索路径列表中,所以上述3条命令都不会报错;
  2. 若在Python Console中运行上述命令,由于Python Console与项目绑定,虽然其默认路径中包含项目路径(Project_name的路径)而不包含当前工作目录(Module_C的路径),但上述3条命令也不会报错;
  3. 若右键test.py,选择open In->Terminal,则打开的terminal已经将路径定位到当前工作目录(Module_C的路径),但其路径搜索列表中不包括项目路径(Project_name的路径),所以运行上述命令会报错找不到Module_A,Module_B和Module_C,但将第3条命令改为from A_class import a_class不报错。

为了在终端Terminal运行上述命令,方法之一是在test.py文件内,在上述命令之前将项目路径添加到系统搜索路径中,这可以通过以下任一方法来实现:

法一:

import sys
import os

sys.path.append(os.path.dirname(os.getcwd()))

法二:

import sys
import os

sys.path.append(os.getcwd() + '/..')

法三:

import sys
import os

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

文档下载:Pycharm中导入模块/第三方库的报错 xxx Not found解决方法.doc文档

THE END
喜欢就支持一下吧