解决Pycharm中检测不到已安装Python模块包的问题

38 阅读2分钟

在使用Pycharm进行Python开发时,我们有时会遇到一种令人困惑的问题:明明已经通过pip安装了某个包,但在Pycharm中却检测不到

先说结论:这通常是由于pip在安装包时使用了与Pycharm项目不同的Python解释器所导致的。

接下来听我解释!!

1、知识梳理

1.1 首先 python解释器 是什么?

简单来说,Python 解释器就是一个能读懂并执行 Python 代码的「翻译官」+「执行者」—— 你写的 Python 代码是人类能看懂的「高级语言」,解释器会把它转换成计算机能直接执行的「机器语言」,并一步步运行。

如果你了解过JAVA,就可以简单理解同JVM(Java 虚拟机)的角色。

那么,每一个python项目都有属于自己的解释器,同时它们之间是环境隔离的。

1.2 解释器的特性

环境隔离是解释器最重要的特性之一,每个解释器对应一个独立的「运行环境」

  • 解释器路径(比如C盘的conda环境 vs D盘的miniconda base环境)就是这个「翻译官」的安装位置;
  • 每个解释器都有自己的「包仓库」(site-packages文件夹),你给 A 解释器装的包(比如 openai),B 解释器根本看不到 —— 这就是你之前「装了包但导入失败」的核心原因。

2、说完基础知识,开始进行问题排查。

2.1 查看pycharm 编码区的python解释器的位置

打开pycharm,输入如下代码,查看当前项目python解释器的位置。

    import sys
    print(sys.executable)

2.2 查看pycharm - Terminal区中python解释器的位置

python -c 'import sys ; print(sys.executable)'

其实,直接打开也能看到命令执行的路径和第一步的路径不一样。这就是为什么 Terminal区 pip 命令下载了模型,但是代码区内依然找不到的原因。

2.3 统一python解释器

打开配置页:pycharm --> File -->Setting -->Terminal

修改Start directory 内的路径与代码区的python解释器路径一致

image.png

最后,在Terminal区使用pip命令重新下载你需要的模型吧!