JSON module存在但是执行python方法时报错

253 阅读1分钟

背景

执行python脚本时候,发现报错,AttributeError: module 'json' has no attribute 'loads'

Traceback (most recent call last):
  File "SyncDataFromOnline.py", line 26, in <module>
    json_text = json.loads(get.text)
AttributeError: module 'json' has no attribute 'loads'

但其实json 模块是存在的,那肯定是因为某种原因没有找到。

问题定位和解决

网上发现有位同学有同样的问题,他定义了一个json.py文件去执行一些json相关的操作方法。在执行的时候,也抛出了同样的错误。

那么,我们这个问题是否也是因为找错了文件导致的?

我们没有定义json.py文件。难道是找到了系统定义的文件?

  1. 利用 whereis python 查找到对应的python 安装目录,进入lib目录下:
  2. find 查找json带有json的文件,发现下面3个文件;
drwxr-xr-x   3 yb  admin    96B  1  8 15:29 json
-rw-r--r--   1 yb  admin   529B  1  8 15:29 json_extensions-0.2.1-py3.8-nspkg.pth
drwxr-xr-x  10 yb  admin   320B  1  8 15:29 json_extensions-0.2.1-py3.8.egg-info

同时也在网上找到了相似的例子,因为python使用了 json_extensions-0.2.1-py3.8-nspkg.pth 文件

我们删除此文件后,运行正常

参考: blog.csdn.net/qq_40820382…