Python 3.8 已於前兩周正式發佈,不過目前大多數開發者主要使用的仍是 Python 3.7.x 或更舊的版本。 ! 事實上,立刻切換到使用 Python 3.8 可能會引發一些問題。想知道何時切換至 Python 3.8?下文將簡要概述切換主要的 Python 版本以及進行切換時可能會遇到的 ...
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 版本?
至少,我們需要等到:
-
所有的庫都明確支持新的 Python 版本。
-
所依賴的所有工具都明確支持新的 Python 版本。
因此,不妨在新的主要 Python 版本發佈後等待幾個月,我們再去嘗試。如果確實迫不及待,可以等到第一個小版本更新發佈後再嘗試,這裡的情況是 Python 3.8.1。
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 版本?
至少,我們需要等到:
-
所有的庫都明確支持新的 Python 版本。
-
所依賴的所有工具都明確支持新的 Python 版本。
因此,不妨在新的主要 Python 版本發佈後等待幾個月,我們再去嘗試。如果確實迫不及待,可以等到第一個小版本更新發佈後再嘗試,這裡的情況是 Python 3.8.1。