簡體   English   中英

安裝 3.7 時,Tensorflow 更新強制 Python3.5

[英]Tensorflow Update Forcing Python3.5 when 3.7 installed

我目前安裝了 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:

最后,這是我的源 ~/.bashrc 文件的 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']
>>> 

需要一些幫助,我希望我已經提供了足夠的信息,讓比我有更多經驗的人能夠清楚地看到這個問題。

Stretch 上的最新 Python 版本是 3.5。 命令行工具pip調用 Python 3.5 Pip 模塊。 如果您安裝了另一個版本,並且想要為該特定版本安裝/更新軟件包,那么您必須像這樣運行它來使用正確的 Pip(假設python3是正確的版本或別名):

$ python3 -m pip install --upgrade tensorflow

或者,如果您需要sudo

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

如果您沒有為該特定 Python 版本安裝 Pip,您可以運行:

$ sudo -H python3 -m ensurepip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM