名称错误:名称'json'未定义。

26
尝试导入Json,我的命令是pip install json。我正在使用Windows 8.1。
在命令提示符中收到的错误是:
Could not find a version that satisfies the requirements json <from versions:>

找不到与json匹配的发行版

我在PyCharm上遇到的错误是:

NameError: name 'json' is not defined

我尝试导入numpy,它运行得很好。 我还检查了Pip“找不到满足要求的包”无法找到满足要求的版本< package>

编辑:还参考了这个链接Python 3.5.1:NameError:name'json'未定义并收到一个错误提示sudo未被识别


6
你为什么要安装它?它是标准库的一部分,不需要安装。 - Daniel Roseman
2
你使用了哪个导入语句?应该是“import json”。 - unknown
1
尝试导入Json,我的命令是pip install json => 导入和安装不是同一件事。 - bruno desthuilliers
请检查此链接 https://dev59.com/T1gR5IYBdhLWcg3wr_Cz - Jimmy
正如Daniel所说,您不需要安装json模块,它是一个标准模块。如果简单的import json无法工作,那么您的Python安装可能存在严重问题。 - PM 2Ring
显示剩余2条评论
3个回答

59

如果在您的代码中没有定义,就需要导入它。这与Python中的任何名称完全相同;在定义之前不能使用它。

import json

1
这很尴尬,我错误地将“import json”放在了try-catch中。 - Jimmy
1
无需安装,只需导入JSON。 - Adithya
各位,如果你正在使用Airflow代码,请记住代码以及Python在声明变量后不能有任何“空格”(例如:response_filter=lambda response:json.loads(response.text),)。因此,导入依赖项后,请删除变量(response_filter)和值(lambda response:json.loads(response.text),)之间的任何“异常”空格。换句话说,就是你可能在“=”边缘处有的任何空格。只需进行TRIM即可 :) - Felipe Cabral

2

我也遇到了类似的问题,pip在安装json和math模块时失败(使用python 3.x)。 最终,我发现有些模块根本不需要安装-它们已经是内置的。 :) 当然,你仍然需要在你的.py文件顶部添加"import json"。 希望这能帮助到某些人。


0

使用以下命令而不是json,使用simplejson:

pip install simplejson

如果上述命令也出现错误,请使用以下命令:

easy_install simplejson

如果pip无法满足请求,有时候可以使用easy_install。


2
为什么不直接依赖于标准库中的json模块呢? - Serge Ballesta
@ Jimmy,在使用simplejson时,是否也出现了与之前json相同的错误? - SBN AB
@Serge 简单的 JSON 已经在 Python 2.6+ 版本中添加。我想 simplejson 可以在所有 2.4+ 版本中使用。 - SBN AB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接