Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法导入JSONDecodeError_Python_Macos_Python Import - Fatal编程技术网

Python 无法导入JSONDecodeError

Python 无法导入JSONDecodeError,python,macos,python-import,Python,Macos,Python Import,我正在打以下电话: from simplejson import JSONDecodeError 但我得到了这个错误: from simplejson import JSONDecodeError ImportError: cannot import name JSONDecodeError 以下信息可能会有所帮助: 这段代码在ubuntu中运行良好,但我在mac中遇到这个错误 我有多个python版本,我刚刚删除了python 2.6(因为我使用的是python 2.7) 并使用easy

我正在打以下电话:

from simplejson import JSONDecodeError
但我得到了这个错误:

from simplejson import JSONDecodeError
ImportError: cannot import name JSONDecodeError
以下信息可能会有所帮助:

  • 这段代码在ubuntu中运行良好,但我在mac中遇到这个错误

  • 我有多个python版本,我刚刚删除了python 2.6(因为我使用的是python 2.7

  • 并使用
    easy\u install\u 27
    安装此特定库


它在我的电脑上工作:

$ python
Python 2.7.3 (default, Aug  1 2012, 05:16:07) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from simplejson import JSONDecodeError
>>> 

您是否确认正在运行安装了simplejson库的python安装?检查
sys.path
,确认所有预期位置都在搜索路径中。
导入simplejson
有效吗?如果是,请验证从哪个文件加载模块(
import simplejson;print simplejson.\uuuu文件\uuuu
)。如果这是预期的,则验证模块的内容,并查看其中是否存在类JSONDecodeError。

升级您的安装:

$ pip install -U simplejson
$ python
>>> from simplejson import JSONDecodeError

关于如何获取JSONDecodeError,您已经有了答案,但我认为正确的建议应该是您不应该尝试导入它

原因是JSONDecodeError只出现在
simplejson
中,除非您的Python版本已经严重过时,否则没有理由使用它。内置的
json
在最新版本中速度一样快,并且没有unicode错误。信息:


解决方案:
json
会引发ValueError而不是JSONDecodeError,但是JSONDecodeError(由
simplejson
引发)是ValueError的子类。因此,您可以简单地排除ValueError,它将适用于
json
simplejson

为了更清楚地说明@tim的评论,在python3中,您可以编写

from json import JSONDecodeError

不需要simplejson包

为什么要导入JSONDecodeError?您是否正在尝试导入JSONDecoder?为什么不简单地导入simplejson并显式引用该名称空间中所需的内容?或者从定义它的位置导入它,从simplejson.scanner导入JSONDecodeError对于python 3,只需从json导入JSONDecodeError它是python 3.4的需要,例如