1

我正在尝试 AlchemyAPI_Python-0.6 - PyXml 模块。我试图运行它的关键字提取器功能,但在尝试编译时出现以下错误。我使用了示例中给出的keywords.py 文件。我复制了 python 目录下的所有文件(AlchemyAPI.py、keywords.py、api_key.txt)。

Traceback (most recent call last):
  File "C:\Python26\keywords.py", line 4, in <module>
    import AlchemyAPI
  File "C:\Python26\AlchemyAPI.py", line 6, in <module>
    from xml import xpath
  File "C:\Python26\lib\site-packages\_xmlplus\xpath\__init__.py", line 112, in <module>
    from pyxpath import ExprParserFactory
  File "C:\Python26\lib\site-packages\_xmlplus\xpath\pyxpath.py", line 59, in <module>
    from xml.xpath.ParsedAbbreviatedRelativeLocationPath import ParsedAbbreviatedRelativeLocationPath
  File "C:\Python26\lib\site-packages\_xmlplus\xpath\ParsedAbbreviatedRelativeLocationPath.py", line 31
    as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
     ^
SyntaxError: invalid syntax

有人可以帮我解决这个问题吗?

先感谢您!

4

2 回答 2

1

我为 AlchemyAPI 工作。

我们刚刚改进了 Python SDK,删除了对 PyXML 的依赖(如果您使用的是 Python 2.4 及更早版本,则需要 lxml)。

请在此处找到新的 SDK: http ://www.alchemyapi.com/tools/

它支持所有版本的 Python 2 和 Python 3。

于 2012-03-08T19:11:55.450 回答
0

PyXML 是为 Python 2.4 编写的,as关键字在 Python 2.5 和 2.6 中逐渐引入。在上面的堆栈跟踪的最后一行,as关键字被用作变量名,这与 Python 2.6 的语法冲突。

您可以通过编辑两个文件,将as变量名称更改为其他名称(例如axis)来解决此问题:

  • C:\Python26\lib\site-packages\_xmlplus\xpath\ParsedAbbreviatedRelativeLocationPath.py,第 31 和 32 行:

    axis = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
    self._middle = ParsedStep.ParsedStep(axis, nt, ppl)
    
  • C:\Python26\lib\site-packages\_xmlplus\xpath\ParsedAbbreviatedAbsoluteLocationPath.py,第 27 和 28 行:

    axis = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
    self._step = ParsedStep.ParsedStep(axis, nt, ppl)
    
于 2012-03-05T11:57:44.140 回答