16.04 系统返回:
python3 --version
Python 3.5.2
python2 --version
Python 2.7.12
如果目标是迁移到较新的版本 (3.8.0)。我感觉 3.5.2 并未“更新”到 3.8,并且较新的版本只是安装,并且两个版本共存?这是正确的吗?还是安装 3.8 会淘汰 3.5?
我想了解(在做任何事使我的机器崩溃之前),安装 3.8 是否:
- 自动删除并退出 3.5.2?
- 如果 3.5.2 没有自动删除,那么在同一台机器上使用 3.5 和 3.8 会遇到什么问题?
- 如果 3.5.2 没有自动删除并且我将其删除,我会破坏任何依赖关系吗?
- 最佳做法是什么?
- 如果 3.5和安装了 3.8,调用命令时会调用哪个版本
python3
?
关于问题 3:我读到从 OSX 中删除 Python 2.7 会导致严重问题,因为 OSX 期望 2.7 可用。因此,如果不问几个问题,我不愿意从操作系统中删除任何版本的 Python。
显然,python 有两个主要版本(通常是 2.x 和 3.x)并不罕见,但是,我不愿意保留多个 3.x 版本。具体来说,我不愿意在 Ubuntu 上保留 3.5.2 和 3.8。
答案1
我认为使用 Pyenv 之类的软件对你的情况来说是个好主意。16.04 中没有 3.8,但 Deadsnakes 之类的 PPA 提供了它。Pyenv 允许你管理多个 python 版本。请查看 https://github.com/pyenv/pyenv
curl https://pyenv.run | bash
在终端中运行,然后打开一个新终端。sudo mv $(which python3) $(which python3).5
将使 python3.5 启动 python 3.5 而不是 python3 现在运行pyenv install *
。最后,pyenv global *
。
星号(*)= 运行pyenv install --list
,找到您要安装的版本,用该版本替换 *。
资料来源:
https://github.com/pyenv/pyenv(pyenv)
https://github.com/pyenv/pyenv-installer(如何安装)
https://unix.stackexchange.com/questions/147420/what-is-in-a-command
编辑:添加了来源,将 where 替换为 which,因为 where 仅适用于 ZSH