Fedora Linux 中的 Python 3.10 測(cè)試版
Python 開發(fā)者已經(jīng)發(fā)布了 Python 3.10.0 的三個(gè)測(cè)試版本。現(xiàn)在,你可以在 Fedora Linux 中試用最新的版本盡早用 3.10 測(cè)試你的 Python 代碼,為 10 月份的 3.10.0 最終版本做好準(zhǔn)備。
在 Fedora Linux 上安裝 Python 3.10
如果你運(yùn)行 Fedora Linux,你可以用 dnf
從官方倉(cāng)庫(kù)安裝 Python 3.10:
$ sudo dnf install python3.10
你可能需要啟用 updates-testing
倉(cāng)庫(kù)來(lái)獲得最新的預(yù)發(fā)布版本:
$ sudo dnf install --enablerepo=updates-testing python3.10
隨著更多的測(cè)試版和候選版 發(fā)布,F(xiàn)edora 包將得到更新。不需要編譯你自己的 Python 開發(fā)版本,只要安裝它就可以獲得最新。從第一個(gè)測(cè)試版開始,Python 開發(fā)者不會(huì)再增加新的功能了。你已經(jīng)可以享受所有的新東西了。
用 Python 3.10 測(cè)試你的項(xiàng)目
運(yùn)行 python3.10
命令來(lái)使用 Python 3.10,或者用 內(nèi)置的 venv 模塊 tox 或用 pipenv 和 poetry 創(chuàng)建虛擬環(huán)境。下面是一個(gè)使用 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 上發(fā)現(xiàn)了 Python 3.10 的問題,請(qǐng) 在 Fedora 的 bugzilla 上提交 bug 報(bào)告 或在 Python 的問題追蹤 上提交。如果你不確定這是否是 Python 的問題,你可以 通過電子郵件或 IRC 直接聯(lián)系 Fedora 的 Python 維護(hù)者 。
Python 3.10 中的新內(nèi)容
參見 Python 3.10 的全部新聞列表。例如,你可以嘗試一下 結(jié)構(gòu)模式匹配:
$ 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
敬請(qǐng)期待 Fedora Linux 35 中的 python3 —— Python 3.10!