Python3.8 JSON 模块不适用于 Ubuntu 20.04 LTS

File "/usr/lib/python3/dist-packages/jmespath/__init__.py", line 1, in <module>

    from jmespath import parser

  File "/usr/lib/python3/dist-packages/jmespath/parser.py", line 30, in <module>

    from jmespath import lexer

  File "/usr/lib/python3/dist-packages/jmespath/lexer.py", line 3, in <module>

    from json import loads

ImportError: cannot import name 'loads' from 'json' (unknown location)

每当我尝试在我的 python3.8 代码中执行“导入 json”时,我都会收到以下提到的错误。如果我从代码中删除“导入 json”,则 python3.8 代码可以正常工作。导入 json 对我来说是强制性的,因为有多个文件使用了 import json。我无法在任何地方更改它。所以可能的解决方案是修复损坏的 json。看来我的 Ubuntu20.04 坏了。


提前致谢。任何帮助将不胜感激。


扬帆大鱼
浏览 134回答 3
3回答

阿晨1998

我在从自制软件安装的 MacOS 上的 Python 版本也遇到了同样的问题。(3.9.6)经过调查,我在覆盖标准库json的全局站点包(全局 python 包文件夹)中安装了另一个 json 依赖项。所以。我刚刚删除了这个全局站点包文件夹中的 json 文件夹和一个文件,它工作正常!就我而言:rm&nbsp;-rf&nbsp;/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/json rm&nbsp;-f&nbsp;/usr/local/Cellar/python@3.9/3.9.6/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/json_extensions-0.2.1-py3.9-nspkg.pth

交互式爱情

当 IntelliJ 尝试安装 boto3 并将一些软件包安装到 /usr/local/lib/python3.9/site-packages 时,一切都崩溃了。我刚刚删除了 json 文件夹和 json_extensions-0.2.1-py3.9-nspkg.pth 文件。我能够确定该文件夹来自 IntelliJ 的位置,因为您可以看到 Extended Libraries > Python 3 。虽然我有一个类似于 Albans 的库根目录,它是 /usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9,但里面没有站点包文件夹。您可以在 IntelliJ 的同一位置看到站点包文件夹,一旦删除该 json 文件夹和 pth 文件,它就会再次开始工作。编辑:我进一步研究了这个,并将 json/schema 安装到该文件夹中。不确定为什么它会将 json.schema 安装在与内置库相同的 json 文件夹中。json.schema 文件夹:/usr/local/lib/python3.9/site-packages/json/schema/

月关宝盒

Python 安装在 2 个地方。一个在 .local 中,另一个在 root 帐户中。一旦我删除了 ./local/lib/python3.8/json ,它就会自动开始指向 /usr/lib/python3.8/json 并且代码可以正常工作。谢谢大家的支持
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python