我正在尝试拨打以下电话:
from simplejson import JSONDecodeError
但是我收到了这个错误:
from simplejson import JSONDecodeError
ImportError: cannot import name JSONDecodeError
以下信息可能有所帮助:
此代码在ubuntu中正常运行,但我在 mac 中收到此错误。
我有多个版本的python,我刚刚删除了python 2.6(因为我正在使用 python 2.7 )
并使用easy_install_27
安装此特定库。
答案 0 :(得分:15)
您已经有了如何获取JSONDecodeError的答案,但我觉得正确的建议应该是您不应该尝试导入它。
原因是JSONDecodeError只出现在simplejson
中,除非你的Python版本严重过时,否则没有理由使用它。内置的json
在最近的版本中同样快,并且没有unicode错误。信息:https://stackoverflow.com/a/16131316/723090
解决方案:json
引发ValueError而不是JSONDecodeError,但JSONDecodeError(由simplejson
引发)是ValueError的子类。所以你可以简单地除了一个ValueError,它适用于json
和simplejson
!
答案 1 :(得分:5)
只是为了更清楚@tim的注释,您可以在python3中编写
from json import JSONDecodeError
不需要simplejson包
答案 2 :(得分:0)
它适用于我的电脑:
$ 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
并验证所有预期的位置都在搜索路径中。 import simplejson
有用吗?如果是,请验证模块加载的文件(import simplejson; print simplejson.__file__
)。如果这是预期的,那么验证模块的内容并查看其中是否存在类JSONDecodeError。
答案 3 :(得分:0)
升级您的安装:
$ pip install -U simplejson
$ python
>>> from simplejson import JSONDecodeError