Принудительное обновление Tensorflow Python3 .5 при установленном 3.7 - PullRequest
0 голосов
/ 07 февраля 2020

В настоящее время у меня установлен Tensorflow 1.14.0. Я обновил Python до 3.7, чтобы получить хотя бы Tensorflow 1.15, если не 2.0. Мои python обновления были успешными:

pi@HCoreDEV:~ $ python --version
Python 3.7.0

pi@HCoreDEV:~ $ python3 --version
Python 3.7.0

Теперь, когда я пытаюсь

sudo pip install --upgrade tensorflow

, я получаю следующее (есть намного больше строк, но все они говорят "требование уже" удовлетворено "или" в актуальном состоянии "):

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: tensorflow in /usr/local/lib/python3.5/dist-packages (1.14.0)

Обратите внимание, что по умолчанию используется папка python 3.5 .... ????

НО: если я попытаюсь проверить ВЕРСИЮ TF:

pi@HCoreDEV:~ $ python3 -c 'import tensorflow as tf; print(tf.__version__)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'tensorflow'

pi@HCoreDEV:~ $ python -c 'import tensorflow as tf; print(tf.__version__)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'tensorflow'

Он даже не увидит ЛЮБОГО установленного TF.

Вот мой вывод об альтернативах обновления:

pi@HCoreDEV:~ $ sudo update-alternatives --config python
There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /usr/bin/python3.7   3         auto mode
  1            /usr/bin/python2.7   1         manual mode
  2            /usr/bin/python3.5   2         manual mode
* 3            /usr/bin/python3.7   3         manual mode

Press <enter> to keep the current choice[*], or type selection number:

И, наконец, вот мой источник ~ / .bashr c псевдонимов файла для python и python3 для хорошей меры:

alias python='/usr/bin/python3.7'
alias python3='/usr/bin/python3.7'

Так ПОЧЕМУ это, что с подтвержденным python3 .7 установлен и работает, Tensorflow только просматривает папку 3.5, видит существующую установку, которая была запущена до того, как я обновился до 3.7, и говорит, что требования удовлетворены?

Когда я просто набираю "python" в моем окне терминала, это вывод:

pi@HCoreDEV:~ $ python
Python 3.7.0 (default, Feb  6 2020, 16:11:11) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Наконец, вот мой вывод sys.path:

>>> import sys
>>> sys.path
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
>>> 

Нужна помощь, надеюсь, я предоставил достаточно информации, чтобы сделать проблему очевидной для кого-то, кто имеет немного больше опыта, чем я.

1 Ответ

0 голосов
/ 07 февраля 2020

Последняя версия Python на Stretch - 3.5. Инструмент командной строки pip вызывает модуль Python 3.5 Pip. Если у вас установлена ​​другая версия и вы хотите установить / обновить пакеты для этой указанной c версии, то вы должны использовать правильный Pip, запустив его следующим образом (при условии, что python3 - правильная версия или псевдоним):

$ python3 -m pip install --upgrade tensorflow

Или, если вам нужно sudo:

$ sudo -H python3 -m pip install --upgrade tensorflow

Если у вас не установлен Pip для этой указанной c Python версии, вы можете запустить:

$ sudo -H python3 -m ensurepip
...