解决PyCharm打开出现Cannot load settings from file错误

解决PyCharm打开出现Cannot load settings from file错误

背景

pycharm打开过的项目,关闭项目或者IDE后再次打开,右下角会出现cannot load settings from file,如图1所示。

图1

随后,我浏览许多国内外的论坛,帖子,以及pycharm官网的论坛,找到了如下方法:

  1. 删除项目中的.idea文件夹
  2. 重新打开项目,IDE会自动重建.idea文件夹

但是,这么做不行。

原因是:

  1. 重新打开后,重构过程会进行Indexing,这将会花费相当长的时间
  2. 在Scanning Installed Module的过程不会置于后台,而是会变成前台任务,并且卡死整个Pycharm。

至此,我认为是自己的anaconda有问题,把自己的anaconda删除掉准备重装,然而重装的过程中出现了问题:安装日志显示有一个包死活安不上,导致anaconda回滚安装任务,导致安装失败。


暂行的解决办法

先按下我的anaconda挂了不去管,后来我自己又摸索出了两种治标不治本的解决办法。至于为什么不治本,我将会在长期解决中用最简短的话说明。

簪行的解决办法分为短期解决与长期解决两种。

短期:

  1. 每次在打开项目之前,先删除.idea文件夹
  2. 将整个项目目录放到一个新的路径中
  3. 在pycharm中打开项目

这么做,每次重新打开项目,都要重复一遍上述操作。

长期:

回到图1,我发现报错信息中显示是因为.idea中有一个文件似乎因为编码的问题导致无法读取,进而导致项目无法导入。

于是打开该.iml文件,发现文件是乱码,如图2所示:

图2

原来是因为.iml文件被安全软件给加密了,导致乱码。

这个软件的名字是:亿赛通电子文档安全管理系统。我的电脑是公司电脑,之前在VSCode中使用npm安装vue或者其他前端的包的时候,也是这个软件加密,导致安装过程中会数次报错中断,需要反复安装多次才行。

知道原理,那么解决办法就是找到一个没有被加密的.iml文件,将其中的内容复制出来。

我在这里贴出来一个比较常用的.iml文件内容:

bash 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
  <component name="NewModuleRootManager">
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

将这个东西替换被加密的.iml,注意编码格式是UTF-8,重新在IDE打开就行了。

加密真的是害人不浅(づ-̩̩̩-̩̩̩_-̩̩̩-̩̩̩)づ...

相关推荐
带娃的IT创业者9 小时前
Python 异步编程完全指南:从入门到精通
服务器·开发语言·python·最佳实践·asyncio·异步编程
朱包林11 小时前
Python基础
linux·开发语言·ide·python·visualstudio·github·visual studio
Eward-an12 小时前
【算法竞赛/大厂面试】盛最多水容器的最大面积解析
python·算法·leetcode·面试·职场和发展
no_work12 小时前
基于python预测含MLP决策树LGBM随机森林XGBoost等
python·决策树·随机森林·cnn
进击的雷神12 小时前
地址语义解析、多语言国家匹配、动态重试机制、混合内容提取——德国FAKUMA展爬虫四大技术难关攻克纪实
爬虫·python
FreakStudio12 小时前
一行命令搞定驱动安装!MicroPython 开发有了自己的 “PyPI”包管理平台!
python·stm32·单片机·嵌入式·arm·电子diy
小浪花a13 小时前
计算机二级python-jieba库
开发语言·python
Storynone13 小时前
【Day23】LeetCode:455. 分发饼干,376. 摆动序列,53. 最大子序和
python·算法·leetcode
田里的水稻13 小时前
ubuntu22.04_构建openclaw开发框架
运维·人工智能·python
萧曵 丶13 小时前
LangChain Model IO 提示词模版(Python版)
开发语言·python·langchain