1

我尝试安装某个 python 模块,该模块至少需要 python 3.6 才能正常工作,所以我检查了我的版本,使用python --version它给了我的输出,Python 2.7.17然后使用python3 --version给我Python 3.6.9. 现在,我知道我已经安装了 Python 3.8,因为我apt install python3.8在检查版本之前就运行了。

如果有人想知道我的系统在运行什么;我目前正在运行 Elementary OS 5.1.7 Hera。

编辑:(IDK使用什么术语,我想说我已经完成了答案,我不喜欢任何答案。)经过一段时间的大脑思考后,我决定不卸载 3.6 版本,因为它可能具有特定于版本的模块如果删除可能会导致其他已安装的程序中断。
由于我只是将 Linux 用于我的大学工作,因此安装多个版本都没关系。

对于我可能犯的任何错误,我深表歉意,我从来不擅长这种事情。

4

2 回答 2

0

用于conda安装和管理不同版本的 Python(或许多其他软件)。conda在不同的环境中安装不同的 Python 版本。例如:

查找可用的 python 版本:

conda search python

输出(截至撰写本文时,我预计未来最新的 Python 版本会更高):

Loading channels: done
# Name                       Version           Build  Channel             
python                         1.0.1               0  conda-forge         
python                           1.2               0  conda-forge         
...
     
python                         3.9.0      h88f2d9e_1  pkgs/main           
python                         3.9.0 ha017127_4_cpython  conda-forge         

在单独的环境中安装您需要的 Python 版本。在这里,在名为的环境中安装 Python 3.9.0 python39

conda create --name python39 python=3.9.0

切换环境很容易:

conda activate python39
# python is now 3.9.0
conda deactivate
# back to the default python

或(现已弃用):

source activate python39
source deactivate

也可以看看:

conda文档:管理环境

于 2020-10-25T13:35:08.253 回答
0

这个问题更适合Unix & Linux

Python 安装(更一般地说,软件的版本化安装)使用版本号在 linux 上共存。您可能可以Python 3.8使用该python3.8命令运行(或者,找到您安装它的位置并从那里运行/将位置添加到PATH环境变量以直接运行)。

同样,对于每个 python 版本,您都可以安装它自己的包管理器(例如 install pip3.8by python3.8 -m pip install pip)并使用它来安装该 python 版本的包。(由于不同的项目需要不同的包集,一般的做法是创建一个“虚拟环境”,即每个项目需要的python、pip版本及其包安装文件夹的单独副本,并在那里安装所需的包——有关更多信息,请参见例如这个出色的答案)。

关于命令python3(通常/usr/bin/python3)只是一个符号链接,您可以将其替换为您喜欢的版本(只要它与系统期望的兼容 - 即 python3 的版本不低于您的内置 python3/python3-minimal ,否则你可能会破坏某些东西),例如假设which python3给你/usr/bin/python3,你可以

sudo rm /usr/bin/python3 #remove existing link
sudo ln /usr/bin/python3.8 /usr/bin/python3 # create a new link to the version of your choice

(虽然更好的选择可能是给它起别名并将其alias python3='/usr/bin/python3.8'添加到 ~/.bashrc)。

无论您做什么,都不要按python3-minimal系统要求卸载 - 至少在 Ubuntu 上 - 卸载或更改它可能会破坏系统。

于 2020-10-25T09:24:53.377 回答