3

我正在尝试运行一个导入 simplejson 的程序。当我在 Python 2.7 中运行它时没问题,但是当我在 Python 3.3 中运行它时,它说:

文件“C:\Python33\lib\simplejson__init__.py”,第 111 行,在 <module>
中从解码器导入 JSONDecoder,JSONDecodeError
ImportError:没有名为“解码器”的模块

4

2 回答 2

6

无需使用外部simplejson库。Python 3 标准库中包含的模块json完全相同模块,但作为 Python 发行版的一部分进行维护。从simplejsonPyPI 页面引用:

simplejsonjson是Python 2.6 和 Python 3.0 中包含的库的外部维护开发版本,但保持与 Python 2.5 的向后兼容性。

使用以下代码切换到simplejsonif jsonis not present(仅适用于 Python 2.5,该库包含在 2.6 及更高版本中):

try:
    import json
except ImportError:
    # python 2.5
    import simplejson as json
于 2012-12-23T14:02:21.990 回答
1

您需要正确安装它。这意味着使用easy_install simplejsonor pip install simplejson。由于您使用的是 Windows,因此默认情况下不会安装这些命令行工具。

但是,也有一种半自动的方式正确安装包:下载并解压到某个临时文件夹,然后在包的文件夹中打开命令行窗口并python setup.py install在其中执行。

手动将其解压到您的 Python 文件夹几乎总是一个糟糕的选择,这可能会弄乱您的 Python 安装(以防与现有文件发生任何冲突)。

于 2012-12-23T13:56:22.287 回答