Debian更新Python版本和切换默认Python版本
在Debian系统中,更新Python版本和切换默认Python版本通常需要进行一些步骤。
Debian通常会随附多个Python版本,因此您可以根据需要进行切换。
本纪录说明安装Python 3.X 和切换默认Python版本。
安装Python 3.X
安装
安装构建Python所需的依赖项
apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev
下载 python 3.9
这里使用python 3.9示范
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
链接可能已经过时,因此需要从Python官方网站下载最新的Python版本。
解压Python
tar -xf Python-3.9.1.tgz
切换到Python源目录导航并执行configure脚本
cd Python-3.9.1
./configure --enable-optimizations
--enable-optimizations选项通过运行多个测试来优化Python二进制文件。 这会使得构建过程较慢。脚本运行许多检查以确保系统上的所有依赖项都存在。
启动Python 3.9构建过程
make -j 1
为了更快构建时间,修改-j对应于处理器的核心数。 您可以通过键入nproc来找到数字。
当构建过程完成时,安装Python二进制文件
make altinstall
我们正在使用altinstall而不是install,因为稍后将覆盖默认系统Python3二进制文件。
Python 3.9已安装并准备使用。 要验证它,请键入
python3.9 --version
输出应显示Python版本
Python 3.9.1
Python安装路径在
/usr/local/bin
使用方法
/usr/local/bin/python3.9
运行文件.py
/usr/local/bin/pip3.9 install
安装文件
修改python默认版本
查看python默认版本
python --version
查看已安装的Python版本
dpkg -l | grep python
将/usr/bin目录下的原python执行文件备份更名
mv /usr/bin/python /usr/bin/python2.7.0
更名请更换默认版本,方便纪录。
将新版本3.9.1执行文件软链接复制到/usr/bin下
ln -s /usr/local/bin/python3.9 /usr/bin/python
将3.9.1版本python设置全局环境变量
vim /etc/profile
添加到profile文件末尾
export PATH=$PATH:/usr/local/bin/python3.9
重置配置
source /etc/profile
验证安装成功
python --version
/ python3 --version
其他建议:
-
./configure --enable-optimizations: --enable-optimizations选项是可选的,它会对Python进行一些优化,但会增加构建时间。如果不需要这些优化,您可以跳过这个选项。
-
make -j 1: -j选项后的数字应该等于您的处理器核心数加1,以充分利用多核处理器。如果您的处理器有4个核心,可以使用make -j 5来加快构建。
-
make altinstall: 使用altinstall是一个好主意,以免覆盖系统默认的Python版本。这是一种安全的方式来安装自定义Python版本。
-
修改python默认版本: 这一步需要小心进行,因为修改默认Python版本可能会影响系统正常运行。确保在进行此步骤之前备份系统或熟悉如何回滚更改。
-
设置全局环境变量: 在/etc/profile中添加Python路径是一种方式,但更好的方法是使用Debian的update-alternatives工具来管理默认Python版本。这将更安全且易于维护。
-
请谨慎修改默认Python版本,以免影响系统稳定性。
更多:
- Docker安装和常用命令:https://www.silly.cyou/post/docker/
- VPS一键安装DD纯净Debian:https://www.silly.cyou/post/vps-yi-jian-an-zhuang-dd-chun-jing-debian/