refextract导入问题:语法错误

时间:2017-06-27 20:34:37

标签: python python-3.x syntax-error python-2.x importerror

有没有人有使用python库Refextract,包索引here的经验。我在Spyder 3.0.0中使用python 3.4。 Pip安装很顺利,它说安装是成功的,在正确的文件夹中(在Libs / Site packages /文件夹中)。但是当我尝试加载它时,它会抛出错误信息,我无法弄清楚它的含义。

以下是我的代码段:from refextract import extract_journal_reference(如手册中所示),它会出现以下错误:

  from refextract import extract_journal_reference
  File "C:\path\to\python-3.4.3.amd64\lib\site-packages\refextract\references\api.py", line 96
  raise FullTextNotAvailableError("URL not found: '{0}'".format(url)), None, sys.exc_info()[2]
                                                                       ^
SyntaxError: invalid syntax

这只是导入,还没有指定链接。有谁知道如何处理这个错误?

1 个答案:

答案 0 :(得分:2)

引发异常的代码使用的语法在Python2中有效,但在Python3中无效。

在Python2中,可以使用raise语句的这种变体将任意回溯与异常相关联。

raise FooError, 'A foo has happened', a_traceback_object

或在这种情况下:

raise FooError('A foo has happened'), None, a_traceback_object.

在Python3中,必须将追溯对象显式分配给异常的__traceback__属性:

ex = FooError('A foo has happened')
ex.__traceback__ = a_traceback_object
raise ex

有关此更改的讨论,请参见PEP 3109(摘要:减少使用raise的不同方式的数量)。

据我所知,该软件包并不声称兼容python3,因此您需要使用Python2(具体来说是2.7)运行它。