AlchemyAPI выдает ошибку при компиляции - PullRequest
1 голос
/ 30 ноября 2011

Я пробую AlchemyAPI_Python-0.6 - модуль PyXml. Я пытался запустить функцию извлечения ключевых слов, но получил следующую ошибку при попытке компиляции. Я использовал файл keys.py, приведенный в примерах. Я скопировал все файлы в каталог python (AlchemyAPI.py ,words.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

Может кто-нибудь помочь мне с этим вопросом, пожалуйста?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Я работаю на AlchemyAPI.

Мы только что обновили наш Python SDK, удалив зависимости от PyXML (если вы используете Python 2.4 и более ранние версии, вам потребуется lxml).

Пожалуйста, найдите новый SDK здесь: http://www.alchemyapi.com/tools/

Поддерживаются все версии Python 2 и Python 3.

0 голосов
/ 05 марта 2012

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)
    
...