选择 Python3.6 还是 Python 3.7
轉(zhuǎn)自: 白月黑羽在線教程:http://www.python3.vip/doc/blog/python/home/
選擇 Python3.6 還是 Python 3.7
Python 3.7 已經(jīng)發(fā)布了,目前Python的用戶,主要使用的版本 應(yīng)該是 Python3.6 和 Python2.7 ,那么是不是該轉(zhuǎn)到 Python 3.7 呢?
首先大家要知道Python 3.7 是對(duì) Python 3.6 的升級(jí)。Python官方對(duì) 3.7 的新特性描述鏈接如下:
https://docs.python.org/3/whatsnew/3.7.html
我們最需要注意的是 相對(duì)于 3.6 來說, 3.7 在語法上幾乎是完全 兼容, 除了如下這一點(diǎn):
Backwards incompatible syntax changes:async and await are now reserved keywords.
這段話,指出了 3.7 的唯一不兼容 3.6 的地方就是 async 和 await 變成了Python語言中保留的關(guān)鍵字了。
什么意思?
就是 async 和 await 這兩個(gè)詞 就像 import, for, while 這些詞一樣, 是系統(tǒng)保留特殊用途的關(guān)鍵字。
也就是說在Python 3.7 里面你不能使用定義 變量、函數(shù)之類的 名字
比如,我像下面這樣定義變量和函數(shù):
async = 1 def await(): pass使用Python3.6 運(yùn)行,沒有問題, 而在Python 3.7 里面就會(huì)報(bào)如下錯(cuò)誤
SyntaxError: invalid syntax?
如何選擇?
所以,如果項(xiàng)目 目前使用的是 Python 3.6 ,而且項(xiàng)目又比較大的話,個(gè)人建議不用太著急轉(zhuǎn)到 3.7 上去。 因?yàn)椴恢滥愕捻?xiàng)目代碼和依賴的第三方庫的代碼是不是做過3.7的兼容性測(cè)試, 畢竟 3.7 剛剛出來不久。
比如,白月黑羽寫這篇文章的時(shí)間是2018年7月13號(hào),我就發(fā)現(xiàn) postgresql 數(shù)據(jù)庫的Python API 驅(qū)動(dòng)庫, psycopg2的安裝在 Python 3.7 上就有問題。
3.7 的 pip 執(zhí)行
pip install psycopg2-binary
安裝就會(huì)失敗,提示 Error: pg_config executable not found
而 3.6的pip安裝就沒有問題。
所以,我們最好等到3.7被普遍使用了,再轉(zhuǎn)過去。
現(xiàn)在要轉(zhuǎn)到Python3.7, 除非 有你們項(xiàng)目特別渴望使用的 Python3.7 里面的新特性 。 如果是那樣的話,一定要 做一個(gè)對(duì)老的代碼覆蓋比較充分的測(cè)試,防止上線運(yùn)行的時(shí)候出現(xiàn)問題。
?
用Python2.7怎么辦呢?
而如果目前 項(xiàng)目使用的是 Python 2.7 運(yùn)行,那 主要是 Python 2 和 Python 3 之間 的 遷移問題了, 語法差異有些大。
如果項(xiàng)目聲明周期比較長的話, 建議還是 要在合適的時(shí)候升級(jí)到 Python3。 因?yàn)楫吘筆ython2 在2020年官方就不再維護(hù),到時(shí)候出現(xiàn)什么安全漏洞之類的問題,就比較麻煩了。 或者是 有好用的第三方庫, 這些庫可能沒有 Python2 的版本,那樣就更麻煩了。
如果決定吧項(xiàng)目從Python2 升級(jí)到 Python3, 目前可以先升級(jí)到Python3.6 , 因?yàn)闃I(yè)界目前對(duì) 3.6 的支持還是比較普遍的。 等以后 3.7 支持比較普遍后,再做升級(jí)不遲。
?
轉(zhuǎn)自: 白月黑羽在線教程:http://www.python3.vip/doc/blog/python/2018071101/
轉(zhuǎn)載于:https://www.cnblogs.com/allenblogs/p/9376210.html
總結(jié)
以上是生活随笔為你收集整理的选择 Python3.6 还是 Python 3.7的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker之设置开机自启动(二)
- 下一篇: Python第二天学习