资料来源:

资料来源:

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 是否:

  1. 自动删除并退出 3.5.2?
  2. 如果 3.5.2 没有自动删除,那么在同一台机器上使用 3.5 和 3.8 会遇到什么问题?
  3. 如果 3.5.2 没有自动删除并且我将其删除,我会破坏任何依赖关系吗?
  4. 最佳做法是什么?
  5. 如果 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

相关内容