【问题标题】:unable to load json library while installing twitter api module安装 twitter api 模块时无法加载 json 库
【发布时间】:2013-02-26 15:47:55
【问题描述】:

我正在尝试在 windows 中使用带有 python3.3 的 twitter api

当我尝试使用安装时

python setup.py install

我收到此错误:

raise ImportError, "Unable to load a json library"

为了解决这个问题,我手动安装了简单的 json 模块

错误再次出现

Traceback (most recent call last):
  File "C:\Users\schatterjee\workspace\test\test.py", line 1, in <module>
    import twitter
  File "C:\Python33\lib\site-packages\twitter.py", line 50
    raise ImportError, "Unable to load a json library"
                 ^
SyntaxError: invalid syntax

为什么会持续存在?

【问题讨论】:

  • Makes not much sense 因为 Python 3 带有一个内置的 json 模块。 import json 在运行 Python 解释器时是否有效? (即输入python 启动解释器)
  • @poke import json 有效,但 import twitter 给出了该错误。这很奇怪,但它正在发生
  • 实际上,您使用的是哪个 Python 库,因为另一个 has the same line?您还确定您的 python 命令是 Python 3 吗?因为两者看起来都不兼容 Python 3。另外,请发布完整的回溯。
  • 我正在使用 twitter.py。可能它们不兼容,但只是错误很奇怪。

标签: python json twitter


【解决方案1】:

好的,回溯确实帮助很多。问题并不像最初假设的那样,没有 JSON 库。相反,您会在抛出错误的行上得到一个语法错误(但它不会抛出它!)。

出现语法错误的原因是因为显示的语法是 Python 2 语法:

raise ExceptionType, "message"

此语法在 Python 3 中不再是有效语法,但必须写成

raise ExceptionType(message)

该错误支持我的假设,即您选择的 Twitter 库与 Python 3 不兼容。事实上,库中存在多个会引发更多语法错误的东西。我很惊讶他们没有在setup.py 上添加支票来通知你。

因此,很遗憾,您将无法将此库与 Python 3 一起使用,但需要使用 Python 2。如果您愿意,可以在计算机上同时安装 Python 2 和 Python 3。

不过,您也可以寻找不同的库。这里有两个与 Python 3 兼容;不过我都没有尝试过:

【讨论】:

  • 非常感谢。我意识到语法发生了一些变化。事件打印'字符串'现在不起作用。您会建议将此错误报告给 API 开发人员吗? +1 其他 Twitter API。不知道他们。
  • @codious 是的,我要一个 Python 3 版本。它或多或少是官方的 Python 3 库,而且似乎还没有任何(公共)关于 Python 3 版本的计划,因此引起注意绝对是个好主意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多