|
ubuntu22.04系统python多版本安装1ubuntu22.04常规方法无法把python升级到最新版本2APTPPA安装方式可升级python到当前最新的3.123通过APTPPA方式安装python3.123.1升级ubuntu环境3.2安装python3.123.3设置默认python版本4升级pip5参考文献1ubuntu22.04常规方法无法把python升级到最新版本ubuntu22.04自带的python版本是3.10.12,python3.11版增加了几个新的特性,包括case语句的支持,当前的最新版本是3.12.3。用ubuntu的aptupdate只能升级python到3.11.0,源码安装3.12版时,ssl包要求的openssl版本是1.1.1,低于ubuntu系统自带的3.0.2,编译python3.12.3源码是会出很多lib库缺失错误。经过百度,找到“APTPPA”方式,可以安装编译好的python多个版本、包括最新版本。2APTPPA安装方式可升级python到当前最新的3.12PPA是"Personalpackagearchives"的首字母缩写,这是由“deadsnakes”team维护的ubuntu系统下的非官方python包,当前提供的python版本从3.8到3.12,可以安装他们维护的最新python版本。其官网地址是:https://launchpad.net/~deadsnakes。3通过APTPPA方式安装python3.123.1升级ubuntu环境升级系统:sudoaptupdate1升级陈旧的软件包:sudoaptupgrade13.2安装python3.12增加PPArepository:sudoadd-apt-repositoryppa:deadsnakes/ppa1刷新APTcache然后安装python3.12sudoaptupdatesudoaptinstallpython3.1212到此就完成了python3.12的安装,你可以根据需要有选择的安装其他几个扩展包:sudoaptinstallpython3.12-{tk,dev,dbg,venv,gdbm,distutils}1如果不需要某个扩展包,比如venv,可以从{}中将venv去除。这些扩展包在国外,全部下载可能需要几十分钟的时间。3.3设置默认python版本当系统中有多个python版本时,为了使用中不至于混乱,可以将其中一个版本设为系统默认版本,以后根据需要可以更改系统默认版本。设置系统默认版本使用“updaet-alternatives”命令,步骤包含创建符号链接和设置默认项两步。为系统中原有的3.10、新安装的3.12两个版本创建符号链接:sudoupdate-alternatives--install/usr/bin/pythonpython/usr/bin/python3.101sudoupdate-alternatives--install/usr/bin/pythonpython/usr/bin/python3.12312行尾的数字1、3代表优先级,一般为1~9之间的数字,值越大优先级越高。设置默认python版本:sudoupdate-alternatives--configpython1命令结果如下图所示:系统里有两个python版本,3.10和3.12,3.10行前有个“*”标,表示当前默认版本是3.10。“Selection”列不同的数字代表不同的版本,输入数字1,表示选择3.10版。执行“python--version”,可以看到返回的结果是“Python3.10.12”。再次执行“sudoupdate-alternatives--configpython”命令,输入数字2,可以看到python版本切换到了3.12.3。4升级pip为python3.12安装pip并升级:$sudoaptinstallpython3-pip$python-mpipinstall--upgradepipDefaultingtouserinstallationbecausenormalsite-packagesisnotwriteableRequirementalreadysatisfied:pipin./.local/lib/python3.12/site-packages(24.0.0)1234注意执行upgradepip时不加“sudo”,在用户home目录下执行。两个版本的pip都升级后,在用户home目录的./local目录中可看到创建好的相关目录。如果想确保pip对应正确的python版本,可以参考3.3节用upgrade-alternatives命令对pip也操作一遍。5参考文献https://www.linuxcapable.com/install-python-3-12-on-ubuntu-linux/
|
|