Python 3.8.5(Win10)下json模块无loads属性问题求助
解决Python 3.8.5中json模块无loads属性的问题
你遇到的情况很明显是导入的json并非Python标准库的官方模块,而是一个空的包结构——虽然你确认没有同名的json.py,但还有几种容易忽略的可能性,咱们一步步排查解决:
1. 排查项目目录下的json文件夹
Python会优先从当前脚本所在目录加载模块/包,如果你的项目路径C:/Users/shay/PycharmProjects/General/里存在名为json的文件夹(哪怕里面只有一个空的__init__.py),就会直接覆盖标准库的json模块。
- 直接打开该目录,检查是否有这个文件夹,有的话删除或重命名(比如改成
my_json)即可。
2. 确认导入的json模块来源
在你的测试脚本里加一行代码,看看导入的json到底来自哪里:
import json print(json.__file__)
正常情况下,输出应该是Python安装目录下的标准库路径,比如C:\Python38\Lib\json\__init__.py。如果输出的是项目目录里的某个文件/文件夹,直接删除对应的文件或目录就行。
3. 修复可能损坏的Python标准库
如果上面两步都没问题,那大概率是Python 3.8.5的标准库json模块损坏了:
- 重新下载Python 3.8.5的安装包,运行后选择「Modify」(修改)选项,确保勾选了「Standard Library」相关组件,完成修复安装。
- 也可以从其他正常运行的Python 3.8环境中,复制
Lib/json整个目录到你的Python安装目录的Lib文件夹下,替换掉损坏的版本。
4. 检查PyCharm的解释器配置
有时候PyCharm会默认使用虚拟环境,而非你安装的系统Python:
- 打开PyCharm的「File > Settings > Project: General > Python Interpreter」,确认当前选中的解释器是你安装的Python 3.8.5,而不是某个虚拟环境。如果是虚拟环境的问题,切换回系统解释器,或者重新创建一个完整的虚拟环境。
另外,你可以先在系统命令行(CMD)里测试,排除PyCharm的影响:
python >>> import json >>> json.loads('{"name":"John", "age":30}')
如果命令行里能正常运行,那问题肯定出在PyCharm的解释器配置上,调整一下就好。
内容的提问来源于stack exchange,提问作者Shay.R
相关产品推荐
相关产品推荐

