Python 3.8 已發佈,現在是切換至新版本的好時機嗎?

Python 3.8 已於前兩週正式發佈,不過目前大多數開發者主要使用的仍是 Python 3.7.x 或更舊的版本。事實上,立刻切換到使用 Python 3.8 可能會引發一些問題。想知道何時切換至 Python 3.8?下文將簡要概述切換主要的 Python 版本以及進行切換時可能會遇到的問題(來自一名開發者的心得經驗)。

1.缺少軟件包

opencv-python是一個十分受歡迎的軟件包,其下載量約爲 5000 萬。但正如本文提到的一樣,如果你現在(2019年10月28日)嘗試在 Python 3.8 上安裝它會發現並不起作用:

$ docker run python:3.8-slim pip install opencv-pythonERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)ERROR: No matching distribution found for opencv-python 

原因爲何?如果我們現在在 PyPI 上訪問 opencv-python 的文件頁面,將會看到沒有可用的面向 Python 3.8 的軟件包。晚些時候這個問題可能會被修復。但是現在的情況是,在新的主要版本發佈之後的不久時間內,我們將無法下載許多庫。

有時候,這些問題只需重新構建庫即可解決,有時候則需要進行一些代碼調整。但不管是什麼問題,Python 的主要版本和軟件包的可用性之間都存在一些滯後。

2.Python 中的錯誤

Python 3.7.0 於 2018 年 6 月 27 日發佈,3.7.1 於 4 個月後 2018 年 10 月 20 日發佈,其中包括許多錯誤修正。所以按照慣例,Python 3.8 將來也會有一個錯誤修復版本,但是鑑於主要版本之間的間隔期爲 18 個月,因此會產生很多新的但不會廣泛使用的代碼。這意味着後續版本將具有大量的錯誤修復。

3.無法真正使用新的語法

Python 3.8 引入了新語法,但其他工具尚未同步跟進以支持新語法,例如自動格式化程序和代碼檢測工具等。除非“配套設施”已同步更新,否則我們將無法真正使用新的語法。

所以什麼時候切換至使用主要的新 Python 版本?

至少,我們需要等到:

  1. 所有的庫都明確支持新的 Python 版本。
  2. 所依賴的所有工具都明確支持新的 Python 版本。

因此,不妨在新的主要 Python 版本發佈後等待幾個月,我們再去嘗試。如果確實迫不及待,可以等到第一個小版本更新發布後再嘗試,這裏的情況是 Python 3.8.1。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章