![](/img/trans.png)
[英]When trying to install modules pip installs python3.5 even though 3.7 is already installed
[英]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.