Pycharm BUG:远程解释器不显示依赖包,运行报 ModuleNotFoundError 但依赖明明已存在

唔,不得不说 Pycharm 还是有明显的 BUG 的,发生几率还挺高。感觉都可以整理一个集合了。遇到一个写一个吧,希望能帮助同样被坑到的人,coder help coder……

注意!!

本文只适用于 Pycharm 的远程开发问题,如果你使用的开发工具是 Jerbrains 的 Gateway 工具进行远程开发,就不要删除远程环境了。
Pycharm 远程开发是本地一套代码和环境,然后上传到远程服务器,又是一套代码和环境,所以有时会导致奇奇怪怪的不同步问题。并且默认同步文件夹仅有项目源代码文件夹,所以在本地 Pycharm 代码文件中的修改会被上传覆盖远程服务器的代码文件。而虚拟环境的改动则不会使用直接上传覆盖的方法,而是使用命令的形式进行依赖的同步调整。比如在本地环境安装一个依赖包,
Gateway 远程开发是直接使用远程服务器的代码和环境,本地是没有任何文件的,所有操作都是直接操作的远程服务器上的文件。这样就解决了不同步问题。但 Gateway 是新出的工具,很多 BUG。如果你已经用熟了 Pycharm 的远程开发,对不同步现象有解决办法,目前不建议转 Gateway。

现象

早已配好的 Python 远程虚拟环境,今天突然崩了,表现为:
设置 -> 项目 -> Python 解释器 中的所有依赖包全没了,显示不出来,清除缓存并重启不起作用,手动刷新环境索引不起作用,远程服务器上却依然正常,显示依赖全都还在且能使用命令正常启动项目。如下图(当然图中显示的是正在加载,其实加载完毕后依旧是空的):
依赖包为空
尝试启动早已用过千百遍的 运行/调试 配置,配置中的解释器无误,路径无误,参数无误,也突然无法启动,报 ModuleNotFoundError。最基本的包都读不到,如下图:
启动报找不到模块

解决

试了诸多方法,最后在 Pycharm 中重新配置远程虚拟环境解决的。注意不是重建远程服务器上的真实虚拟环境,仅仅是重建了 Pycharm 的远程虚拟环境配置。

  1. 在 Pycharm 中把旧的远程虚拟环境配置删除
    删除旧的远程环境配置
  2. 重新配置远程虚拟环境
    配置远程虚拟环境
  3. 配好后,Pycharm 将重新下载该远程环境中的包,并建立索引,此时可以读取到已安装的依赖并能正常启动了
    已恢复正常

总结

所以简单来讲重新配置远程虚拟环境就解决了,但为什么手动刷新环境索引,手动触发依赖同步,清空项目缓存不行?!搞什么,万能的重启、重建、重装大法是吧。而且远程文件同步偶尔也会有问题,需要手动同步
请添加图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值