Здесь есть две проблемы.
Во-первых, насколько я могу судить, несмотря на то, что документально подтверждено, метод pip install
действительно не поддерживается и даже не должен работать.Кайл Горман (который, я полагаю, является одним из основных авторов) прокомментировал несколько веток форума с такими ответами:
«Использование pip
для этого не имеет особого смысла, иэто в любом случае устарело. "
" Нет причин вызывать pip. Версия там несовместима с произвольными версиями OpenFst. Если вы делаете --enable-python, то make иmake install, вы уже установили pywrapfst для любой версии OpenFst, которую вы собираете. "
Во-вторых, несмотря на то, что он работает с" любым Python 2.7 или более поздней ",на самом деле он работает только только с Python 2.7:
"Перед отправкой вы можете протестировать Python 3 с расширением Python. Мы все еще разрабатываем для Python 2.7 исключительно, к сожалению, и этоне тестировался на Python 3. "
И, собственно, именно поэтому ваша попытка использовать --enable-python
не удалась:
checking for a version of Python >= '2.1.0'... File "<string>", line 1
import sys, string; ver = string.split(sys.version)[0]; print ver >= '2.1.0'
^
SyntaxError: invalid syntax
no
Их тест autoconf для Python2.1 или позже это мыЭтот синтаксис недопустим в Python 3. И он не очень хорошо обрабатывает ошибки, поэтому требуется, чтобы SyntaxError
означал, что ваш Python версии 2.0 или более ранней, и поэтому он прерывает настройку.
Если вы посмотрите дальше в том же потоке, пользователь NurL написал:
После множества изменений в файле конфигурации и Makefile мне удалось успешно установить расширение Python для Python 3.Смотрите этот Dockerfile: https://gist.github.com/0xnurl/6f97eb39409ea48db31fe315fd1e208f
Я, очевидно, не могу поручиться за то, работает ли это.
И, если вы не используете точно ту же цель, что и NurL, вам придется прочитать эту гигантскую командную строку RUN wget
, разбить ее на шаги и выполнить эквивалентные шаги самостоятельно.
И могут быть проблемы, с которыми NurL не столкнулся, с которыми вы столкнетесь.(Я бы настоятельно рекомендовал по крайней мере запустить 2to3
в полученном коде до или после установки, чтобы убедиться, что он ничего не находит.)
Но это так близко, как вы, вероятно, доберетесь дочто-то, что работает из коробки, учитывая, что то, что вы пытаетесь сделать, не поддерживается.Если вы не можете заставить его работать на себя оттуда, вы, вероятно, просто не сможете использовать эту библиотеку.