Python 3.9 于 2020 年 10 月 5 日发布,带来大量新特性和各种优化。下面是如何通过PPA在Ubuntu 16.04, 18.04和20.04中安装它。
Python 3.9 是最后一个提供这些 Python 2 向下兼容层的版本,以给予 Python 项目维护者更多时间来组织移除 Python 2 支持并添加 Python 3.9 支持。
Python 3.9.0是Windows上64位安装程序的第一个默认版本。不支持Windows 7。
Python 3.9.0发布亮点:
新的语法特性:
新的内置特性:
- PEP 616,移除前缀和后缀的字符串方法。
标准库中的新特性:
- PEP 593,灵活的函数和变量标注;
- 添加了
os.pidfd_open()
以允许不带竞争和信号的进程管理。
解释器的改进:
- PEP 573,从 C 扩展类型的方法快速访问模块状态;
- PEP 617,CPython 现在使用基于 PEG 的新解析器;
- 许多 Python 内置类型(range, tuple, set, frozenset, list, dict)现在通过使用 PEP 590 vectorcall 获得了加速;
- 垃圾回收不会因恢复的对象而阻塞;
- 许多 Python 模块 (
_abc
,audioop
,_bz2
,_codecs
,_contextvars
,_crypt
,_functools
,_json
,_locale
,math
,operator
,resource
,time
,_weakref
) 现在会使用 PEP 489 所定义的多阶段初始化; - 许多标准库模块 (
audioop
,ast
,grp
,_hashlib
,pwd
,_posixsubprocess
,random
,select
,struct
,termios
,zlib
) 现在会使用 PEP 384 所定义的稳定 ABI。
新的库模块:
发布进程的变化:
- PEP 602,CPython 采用年度发布周期。
如何在Ubuntu中安装Python 3.9.0:
1.)通过按键盘上的Ctrl + Alt + T或从系统应用程序启动器中搜索“终端”来打开终端。
当终端打开时,运行命令以添加 “deadsnakes” team PPA:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository ppa:deadsnakes/ppa
提示时键入用户密码(无星号反馈),然后按Enter继续。
2.)然后运行命令以刷新系统程序包缓存,并安装Python 3.9:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install python3.9
3.)成功安装后,检查您的系统Python版本(python –version):
4.)(不推荐)要使用Python 3.9作为默认设置python3,请运行命令:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.8 1
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.9 2
对于Ubuntu 16.04和Ubuntu 18.04,将python3.8代码替换为系统的默认python3版本。。
然后,您可以通过以下命令在两个Python3版本之间进行切换:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo update-alternatives –config python3
注意:由于已知的错误,如果更改python3符号链接,终端将无法打开。解决方法是通过命令重新创建符号链接(将python 3.8替换为系统默认的python3版本):
linuxmi@linuxmi:~/www.linuxmi.com$ sudo rm /usr/bin/python3; sudo ln -s python3.8 /usr/bin/python3
卸载:
要卸载Python3.9软件包,请运行命令:
sudo apt remove –autoremove python3.9 python3.9-minimal
要删除Deadsnakes PPA,请启动“软件和更新”并转到“其他软件”选项卡,然后删除存储库行并关闭窗口。