linux安装特定版本的python
上一级页面:index-la
python3.6现在已经由ubuntu上游源提供,但其他版本,例如python3.7就需要另外考虑
你是否有使用特定版本 Python 的需求?本文中,我们介绍通过添加 deadsnakes PPA 的方式安装特定版本 Python 的步骤。
该方法适用于 Ubuntu 14.04、16.04、18.04 以及 20.04 等多个 Ubuntu 版本的用户。通过创纪录的速度安装多个不同的 Python 版本,立刻开始!
什么是 PPA
Ubuntu 以及其他 Debian 系操作系统使用 apt 包管理器。apt 包管理器允许用户从多个渠道添加软件源。个人软件包库(PPA)是为 Ubuntu 用户设计的软件源,比其他第三方软件库更容易安装。PPA 通常用于发布预发布软件,以便对其进行测试。
能够安装哪些 Python 版本
这取决于我们使用何种 PPA 软件源,本教程中,我们使用 deadsnakes 的软件源。根据你的操作系统版本不同,以下的 Python 版本受到支持:
系统版本
支持的 Python 版本
Ubuntu 16.04 | Ubuntu 18.04 | Ubuntu 20.04 |
---|---|---|
Python 2.3 – Python 2.6, | Python2.3 – Python 2.6, | --- |
Python 3.1 – Python3.4,Python 3.6 – Python3.9 | Python 3.1 – Python 3.5, Python3.7 – Python3.9 | Python3.5 – Python3.7,Python3.9 |
数据截止至 2021 年 3 月
deadsnakes PPA 主页描述了最新的有关 Python 版本的支持情况。
安装步骤
你需要拥有系统的 root 权限才能通过 apt 包管理器通过 PPA 的方式安装特定版本的 Python。根据互联网连接质量不同,在部分地区使用第三方源的连接会偏慢。
添加 PPA 软件源
首先,我们需要将 deadsnakes PPA 软件源添加至系统包管理器中:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
执行上述命令后,apt 包管理器将重新加载最新的包目录。
安装对应 Python 版本
根据对应 PPA 主页的描述确定好要安装的 Python 版本后,就可以使用类似于下面的命令进行安装:
sudo apt-get install python#.#
比如,deadsnakes 源支持在 Ubuntu 20.04 上安装 Python 3.9,我们执行:
sudo apt-get install python3.9
即可在系统中安装对应的 Python 版本。安装好后,通过 python3.9
即可运行对应的 Python 版本程序。
其他包是做什么用的
细心的同学可能注意到除了名为 python#.#
的包之外,一些 PPA 源还提供了其他名称的包。我们列举一些常用的软件包的作用:
python#.#-dev
:包括用于构建 C 语言拓展的开发用头文件,安装一些软件包的时候可能需要用到python#.#-venv
:提供了标准库中的venv
模块python#.#-distutils
:提供了标准库中的distutils
模块python#.#-lib2to3
:提供了标准库中的lib2to3
模块,即2to3-#.#
功能python#.#-gdbm
:提供了标准库中的dbm.gnu
模块python#.#-tk
:提供了标准库中的tkinter
模块
一些小问题
pip 去哪里了?
一些同学在安装特定版本的 Python 软件后可能会遇到找不到 pip 包管理器的问题。如果遇到问题不要慌张,执行下述命令即可:
python3.7及以上
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
如果你使用python3.6,那么脚本下载地址换一下
wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
上述命令能够将 pip 的安装脚本下载到当前目录中,然后,执行下述命令即可:
python#.# get-pip.py
其中,python#.# 是你安装的 Python 版本,如:
python3.9 get-pip.py
安装好之后,你就可以使用类似下述命令的方式运行特定版本 Python 下的 pip 了(仍以 Python 3.9 为例):
python3.9 -m pip
pip添加环境变量
pip安装过后,需要将其加入环境变量,在运行pip install
时会提醒你
我的pip路径如下,具体是什么最好检查一下
/home/lamirs/.local/bin
# 配置pip
export PATH=$PATH:/home/lamirs/.local/bin
也可以编译安装……
在博客文章《如何为树莓派 Raspberry Pi 升级 Python 版本》中,我们介绍了通过源代码编译安装特定版本 Python 软件的步骤。尽管该篇文章是为树莓派 Raspberry Pi 编写,但同样适用于 Ubuntu 系统用户。如果你对于安全性要求较高或者需要安装特定版本号的 Python,不妨尝试通过源代码编译的方式进行安装。
安装依赖
安装python3.6 后,获取pip,结果报错
ModuleNotFoundError: No module named 'distutils.cmd'
安装依赖
sudo apt-get install python3.6-distutils
sudo apt-mark auto python3.6-distutils