Пип не может найти тензор потока, когда в virtualenv с указанным питоном - PullRequest
0 голосов
/ 27 ноября 2018

У меня странная проблема: в Ubuntu 14.04 с установленным python2.7.9 в пользовательской папке при попытке установить тензор потока изнутри virtualenv, использующего пользовательский пип сборки Python, похоже, не обнаружил тензор потока.

 virtualenv venv --python=/opt/python279/bin/python2.7
 cd venv
 source bin/activate
 pip install tensorflow

Сбор тензора потока Не удалось найти версию, которая удовлетворяет требованию тензор потока (из версий:) Не найдено соответствующего распределения для тензор потока

другие пакеты устанавливаются нормально: / Я совершеннозапутался

1 Ответ

0 голосов
/ 29 ноября 2018

Некоторое время назад я написал более или менее полный контрольный список на возможные несоответствия, приводящие к ошибке Could not find a version that satisfies requirement.Хотя вопрос касается именно MacOS, ответ применим и к Linux.В вашем случае у вас есть несоответствие ABI: как выяснилось в комментариях,

/opt/python279/bin/python2.7 -c "import sysconfig;\
    abiflags=('m' if sysconfig.get_config_var('WITH_PYMALLOC') else '')+\
    ('u' if sysconfig.get_config_var('WITH_WIDE_UNICODE') else '')+\
    ('d' if sysconfig.get_config_var('WITH_PYDEBUG') else ''); print(abiflags)" 

вернул m, что указывает на то, что этот дистрибутив Python был скомпилирован без широкой поддержки юникода (отсутствует флаг u).Это означает, что pip установит только cp27-cp27m-manylinux1_x86_64 колеса для этого дистрибутива Python.Однако единственное колесо tensorflow, предлагающее для Python 2.7 в Linux, - это cp27-cp27mu-manylinux1_x86_64.Чтобы установить tensorflow, вам нужно собрать дистрибутив Python 2.7 с широкой поддержкой юникода:

$ cd Python2.7-src
$ configure --enable-unicode=ucs4
$ make && make install
...