【问题标题】:ImportError: cannot import name 'loads' from 'json' (unknown location)ImportError:无法从“json”(未知位置)导入名称“loads”
【发布时间】:2019-10-10 12:27:39
【问题描述】:

以前的标题是: AttributeError: module 'json' has no attribute 'loads' 我更改了它,因为它看起来类似于this,但在我提供的链接中,问题似乎是这个人有一个名为json.py 的文件,它欺骗了导入以为导入的是本地文件而不是 json来自标准库。我的问题是我没有任何名为json.py 的本地文件;

我想知道它是否必须做任何与 PATH 或我的项目结构相关的事情。任何建议都可能有所帮助。

错误回溯:

  File "D:\Me\IdeaProjects\src\app\repositories\user_repository.py", line 14, in get_user
    user = json.loads(file.read())

我在 Windows 10 和 IntelliJ ide 中运行代码。

Python 版本:3.7.4

尝试了官方文档this中的代码:

import json
def as_complex(dct):
    if '__complex__' in dct:
        return complex(dct['real'], dct['imag'])
    return dct

json.loads('{"__complex__": true, "real": 1, "imag": 2}', object_hook=as_complex)

也出现了这个错误:

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    json.loads('{"__complex__": true, "real": 1, "imag": 2}',object_hook=as_complex)
AttributeError: module 'json' has no attribute 'loads'

当我尝试明确导入 loads 时,我收到此错误:

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

【问题讨论】:

  • 你能显示代码吗?
  • 添加尝试导入时出现的完整错误回溯
  • 出现故障时print(str(json)) 的输出是什么?
  • 您在哪个操作系统上运行?什么版本的python?如果你回显 $PYTHONPATH,你会从终端得到什么?你使用 virtualenvs 吗?照原样,无法回答
  • 添加了更多信息,我尝试了官方文档中的代码,但仍然得到相同的错误。

标签: python json


【解决方案1】:

我在窗口 10 的管理员帐户中安装了 python,并且它以管理员权限安装,但是当我在另一个帐户中使用时,我无法使用这些软件包,但是在当前帐户中安装 python 确实解决了问题。

【讨论】:

    【解决方案2】:

    尝试显式导入负载:

    import json
    from json import loads
    

    【讨论】:

    • 然后我得到这个错误:ImportError: cannot import name 'loads' from 'json' (unknown location)
    • 尝试重新安装 json 或更新它,可能不是所有的 json 库都包含在您的环境中。
    • Json 是标准库的一部分。
    • 所以python找不到负载,因为它不包含在预期的位置意味着你必须将模块放入你正在工作的环境中。
    • 你能详细说明一下,我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2021-02-06
    • 2021-03-21
    • 2020-09-08
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多