Fedora Linux 中的 Python 3.10 测试版

Fedora Linux 中的 Python 3.10 测试版

Python 开发者已经发布了 Python 3.10.0 的三个测试版本。

Python 开发者已经发布了 Python 3.10.0 的三个测试版本。现在,你可以在 Fedora Linux 中试用最新的版本尽早用 3.10 测试你的 Python 代码,为 10 月份的 3.10.0 最终版本做好准备。

在 Fedora Linux 上安装 Python 3.10

如果你运行 Fedora Linux,你可以用 dnf 从官方仓库安装 Python 3.10:

$ sudo dnf install python3.10

你可能需要启用 updates-testing 仓库来获得最新的预发布版本:

$ sudo dnf install --enablerepo=updates-testing python3.10

随着更多的测试版和候选版 发布,Fedora 包将得到更新。不需要编译你自己的 Python 开发版本,只要安装它就可以获得最新。从第一个测试版开始,Python 开发者不会再增加新的功能了。你已经可以享受所有的新东西了。

用 Python 3.10 测试你的项目

运行 python3.10 命令来使用 Python 3.10,或者用 内置的 venv 模块 tox 或用 pipenvpoetry 创建虚拟环境。下面是一个使用 tox 的例子:

$ git clone https://github.com/benjaminp/six.git
Cloning into 'six'...
$ cd six/
$ tox -e py310
py310 run-test: commands[0] | python -m pytest -rfsxX
================== test session starts ===================
platform linux -- Python 3.10.0b3, pytest-6.2.4, py-1.10.0, pluggy-0.13.1
collected 200 items

test_six.py ...................................... [ 19%]
.................................................. [ 44%]
.................................................. [ 69%]
.................................................. [ 94%]
............                                       [100%]

================== 200 passed in 0.43s ===================
________________________ summary _________________________
  py310: commands succeeded
  congratulations :)

如果你在 Fedora Linux 上发现了 Python 3.10 的问题,请 在 Fedora 的 bugzilla 上提交 bug 报告 或在 Python 的问题追踪 上提交。如果你不确定这是否是 Python 的问题,你可以 通过电子邮件或 IRC 直接联系 Fedora 的 Python 维护者

Python 3.10 中的新内容

参见 Python 3.10 的全部新闻列表。例如,你可以尝试一下 结构模式匹配

$ python3.10
Python 3.10.0b3 (default, Jun 17 2021, 00:00:00)
[GCC 10.3.1 20210422 (Red Hat 10.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> point = (3, 10)
>>> match point:
...     case (0, 0):
...         print("Origin")
...     case (0, y):
...         print(f"Y={y}")
...     case (x, 0):
...         print(f"X={x}")
...     case (x, y):
...         print(f"X={x}, Y={y}")
...     case _:
...         raise ValueError("Not a point")
...
X=3, Y=10
>>> x
3
>>> y
10

敬请期待 Fedora Linux 35 中的 python3 —— Python 3.10

使用开源工具创建私有的虚拟专用网络 在 Linux 上用 dust 代替 du