【问题标题】:partially initialized module 'json' has no attribute 'loads' - not naming problem部分初始化的模块 'json' 没有属性 'loads' - 不是命名问题
【发布时间】:2022-01-15 16:09:37
【问题描述】:

我收到AttributeError: partially initialized module 'json' has no attribute 'loads' (most likely due to a circular import),我在谷歌上搜索了很多,但没有任何效果。我没有任何名为 json 或类似的模块,所以这不是问题。

我的系统是 Macos 。我尝试使用 pycharm 运行 Qgis 模块。 这是完整的错误:

  File "/Users/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/projs/project.py", line 3, in <module>
    import json
  File "/Applications/QGIS.app/Contents/Resources/python/json/__init__.py", line 106, in <module>
    from .decoder import JSONDecoder, JSONDecodeError
  File "/Applications/QGIS.app/Contents/Resources/python/json/decoder.py", line 5, in <module>
    from json import scanner
  File "/Applications/QGIS.app/Contents/Resources/python/json/scanner.py", line 5, in <module>
    from _json import make_scanner as c_make_scanner
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/psycopg2/_json.py", line 33, in <module>
    from psycopg2._psycopg import ISQLQuote, QuotedString
  File "/Applications/QGIS.app/Contents/Resources/python/site-packages/psycopg2/__init__.py", line 67, in <module>
    from psycopg2 import extensions as _ext
  File "/Applications/QGIS.app/Contents/Resources/python/site-packages/psycopg2/extensions.py", line 192, in <module>
    JSON, JSONARRAY = register_default_json()
  File "/Applications/QGIS.app/Contents/Resources/python/site-packages/psycopg2/_json.py", line 137, in register_default_json
    return register_json(conn_or_curs=conn_or_curs, globally=globally,
  File "/Applications/QGIS.app/Contents/Resources/python/site-packages/psycopg2/_json.py", line 117, in register_json
    JSON, JSONARRAY = _create_json_typecasters(
  File "/Applications/QGIS.app/Contents/Resources/python/site-packages/psycopg2/_json.py", line 157, in _create_json_typecasters
    loads = json.loads
AttributeError: partially initialized module 'json' has no attribute 'loads' (most likely due to a circular import)

有什么想法吗?我认为这是 psycopg2 的事情,但找不到解决方案

【问题讨论】:

  • 尝试将“from ... import ...”更改为简单的“import ...”
  • 导致问题的最少代码是多少?您能否给出重现问题的步骤,从在新系统上安装库开始?
  • @KarlKnechtel 我所做的只是将 Qgis 添加到解释器路径并安装 Psycopg2、Pyqt、config 之类的东西。正如您在错误中看到的,大多数错误来自 psycopg2
  • @CozyCode 不起作用,似乎错误来自 psycopg2 和 json 而不是我的代码直接。我在代码中所做的就是导入 json

标签: python pycharm psycopg2 qgis pyqgis


【解决方案1】:

查看我的解释器路径后,我注意到在另一个版本的 python 中我有通向 psycopg2 的路径。

删除路径后一切正常。

首选项 -> Python 解释器 -> 设置图标 -> 全部显示 -> 显示所选..的路径 -> 删除路径

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2020-07-15
    • 2023-03-19
    • 2020-12-10
    • 2021-09-16
    • 1970-01-01
    • 2021-09-24
    • 2021-07-18
    • 2021-11-13
    相关资源
    最近更新 更多