Ubuntu22.04发布日期Ubuntu22.04JammyJellyfish计划于2022年4月21日发布如果您准备使用Ubuntu22.04JammyJellyfish,您可以升级当前的Ubuntu系统或下载Ubuntu22.04并从ISO安装。Ubuntu22将在几个月后推出,内置Python版本将是3.10,但我也想在Ubuntu20.04上使用它!Ubuntu20.04自带的Python版本是3.8。如果要安装python3.9,可以使用这个命令:sudoaptinstallpython3.9Ubuntu20.04的仓库中没有python3.10,所以还是从源码编译安装吧!准备,首先安装依赖项sudoaptupdate&&sudoaptupgradesudoaptinstallgitgccg++build-essentialcheckinstallopensslsudoaptinstalluuid-devlibreadline-gplv2-devlibncursesw5-devlibssl-devlibsqlite3-devtk-devlibgdbm-devlibc6-devlibbz2-devliblzma-devlibssl-devlibgdbm-compat-devlibffi-devlibreadline-devdebian以下没有使用libreadline-gplv2-devubuntu22.04没有libreadline-gplv2-dev:E:Package'libreadline-gplv2-dev'没有安装候选我把python3.10源码包下载到~/Do在wnloads目录下,我在~/opt/python/cpython目录下安装了python3.10。关于安装路径的选择:问:为什么要放在用户路径而不是系统路径?A:因为对我来说,我只需要它在用户路径下运行,因为这只是一个开发环境。Q:为什么要在路径中加入cpython?A:因为我不仅需要安装cpython解释器,有时候还需要用到pypy解释器等等。所以cpython解释器可以放在~/opt/python/cpython目录下;pypy解释器可以放在~/opt/python/pypy目录下;Q:如何管理多个版本?A:cpython3.10是这样的:~/opt/python/cpython/python3.10;cpython3.9是这样的:~/opt/python/cpython/python3.9;pypy3.9是这样的:~/opt/python/pypy/python3.9;非常简洁大方下载Python源码到~/opt目录下,执行以下命令下载源码压缩包sudocurl-Ohttps://www.python.org/ftp/python/3.10。1/Python-3.10.1.tgz也可以在官网下载:https://www.python.org/downlo...解压tarzxvf./Python-3.10.1.tgz如果不是.tgz后缀,但如果是.tar.xz,使用tar-xvfPython-3.10.2.tar.xz解压查看╭─bot@amd-5700G~/Downloads╰─?ll|grepPython6439688drwxr-xr-x16--botbot2021年12月7日Python-3.10.16439619.rw-rw-r--125M48952botbot2Jan13:58Python-3.10.1.tgz准备安装pathmkdir-p~/opt/python/cpython/python3.10mkdir命令加-p参数可以创建多级目录安装cd~/Downloads/Python-3.10.1sudo./configure--enable-optimizations--prefix=/home/pon/opt/python/cpython/python3.10sudomake-j8sudomakeinstallsudo./configure--enable-optimizations--prefix=/home/pon/opt/python/cpython/python3.10是配置编译参数sudomake-j8是编译-j8表示使用8核并行编译来提高速度(默认只用一个处理器编译,太慢了。我们用多个进程并行处理:sudomake-j8,-j8表示使用8个处理器,如果你的处理器只有4个,改成4)--prefix=/home/bot/opt/python/cpython/python3.10这个不能少,也不要带~,要绝对路径。sudomakeinstall是安装的意思,就是把编译后的结果cpoy安装到--prefix指定的目录下╭─bot@amd-5700G~/opt/python3.10.1╰─?llinodePermissionsLinks大小块用户组日期修改名称6301327drwxr-xr-x2--botbot2Jan14:25bin7873931drwxr-xr-x3--rootroot2Jan14:25include6301328drwxr-xr-x4--botbot2Jan14:25lib7998483drwxr-xr-x3--rootroot2Jan14:25share╭─bot@amd-5700G~/opt/python3.10.1╰─?cdbin╭─bot@amd-5700G~/opt/python3.10.1/bin╰─?llinodePermissionsLinksSizeBlocksUserGroupDateModifiedName6305556lrwxrwxrwx190rootroot2Jan14:252to3->2to3-3.106305551.rwxr-xr-x11188root14root:2Jan252to3-3.106305554lrwxrwxrwx180rootroot2Jan14:25idle3->idle3.106305549.rwxr-xr-x11168rootroot2Jan14:25idle3.10630556181.rwxr-root24-6根2Jan14:25pip36305562.rwxr-xr-x12468rootroot2Jan14:25pip3.106305555lrwxrwxrwx190rootroot2Jan14:25pydoc3->pydoc3.106305550.rwxr-xr-x81根2Jan14:25pydoc3.106305552lrwxrwxrwx1100rootroot2Jan14:25python3->python3.106305553lrwxrwxrwx1170rootroot2Jan14:25python3-config->python3.10-config2963w-xr-x124M46296rootroot2Jan14:25python3.106305548.rwxr-xr-x13.1k8rootroot2Jan14:25python3.10-config╭─bot@amd-5700G~/opt/python3.10.1/bin╰─?./python3.10Python3.10.1(main,Jan22022,14:23:57)[GCC9.3.0]onlinuxType"help","copyright","credits"or"license"formore信息>>>创建环境变量比如下面的代码添加环境变量exportPATH=$PATH:/home/ponponon/opt/python/cpython/python3.10/bin如果是bash,添加到~/如果.bashrc是zsh,把它添加到~/.zshenv,不要再用了源,如source~/.bashrc参考:【树莓派】在ubuntu18上安装python3.7macOSzsh配置文件及其加载顺序切换用户后,/etc/profile的配置不起作用将软件源换成清华源pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simple创建一个软链接,细节不再赘述参考:【树莓派】在ubuntu18上安装python3.7添加环境变量后,进入终端python3.10可以用python3.10,但是python的输出不一定是python3.10哦,可以用wherepyhon查看使用3.10我一般用pipenv来管理包和虚拟环境pipenvinstall--python=python3.10参考文章:搭建Python【树莓派】为ubuntu18安装python3.7
