標籤:

Python3 是否已經完成了取代 Python2 的歷史進程?

如題,最近在國外論壇上發現大家已經認為python2過時了:

Kaggle Scripts Product Feedback

然而我的感受是國內依然是python2佔領大部分python呀,是國內外的差別還是我對別的公司了解的太少了?

樂觀地說Python3要多久能完成替換Python2?

保守地說Python3要多久能完成替換Python2?

你認為怎樣才算完成了替換?


現在主流的第三方庫大多都兼容Python 3了,注意, 用詞是「兼容」而不是「放棄」對Python 2的支持。2012年的時候說Python 2將於2015年停止支持,結果老爹2014年打臉改成了2020年... 說終結,為時過早


可以到這裡看知名庫對python3的支持Python 3 Readiness 前360個中已經有297個了(其實更多,只是沒有更新),不支持的你總能找到替代品,更重要的是,看看那些不支持python3的庫,哪些是你用的到的,如果沒有,何不直接開始python3.

別聽那些讓你停留在Python2的,終究會成為歷史的。

補充:這是另一份知名庫對python3支持的列表,更新與2015-7-5 ,前200個知名庫中已經有169個支持python3了,那些說停留在python2的如何解釋這個現象。http://python3wos.appspot.com/


沒有完成,只是剛剛開始。

我們已經全面轉用 Py3.4,跟 Py2 說再見了。


如果是新項目,沒有歷史包袱的話,直接從python3開始還好。

但是理想很豐滿,現實很骨幹,具體到國內公司,如果以前很多項目是基於python2的,那麼肯定要繼續維護,伺服器肯定默認python2,以後新項目基本也很大可能是python2,否則同時維護Python2和3的項目,實在蛋疼,除非遇到某些包只有python3版本而且非用不可的情況,不過感覺是很少的。

因此我覺得,至少從國內來看,Python3遠遠沒有到替換Python2的時候。而什麼時候能完成替換,這個真的很難說。至少要等到官方徹底放棄維護Python2分支以後吧。


並沒有。。。2009年就說Python開發團隊正在試圖提供可靠的轉換工具。

然而做出了什麼鬼(?_?)

Linux自帶的Python仍然是2.x

所以我學完3.4之後仍不得不繼續用2.7做開發。

順便吐槽下題主:取締,啊,取締,2.x是非法組織嗎!


Windows XP也是我國用的最多


沒有吧,我們團隊使用的RHEL7和SLES11都還是Python 2.7,我覺得這兩個都是默認Python3的時候可能會說明很大的一些問題了,不過我也不知道要等多久,這個很難說,畢竟Python2還有點兒堅挺。


已經在工作上用上Python的程序員,基本沒有人糾結Python 2還是Python 3的問題。


pypy 如果支持3.4就還有希望。現在pypy3我懷疑都沒幾個人正經用過。


Python3已經是大勢所趨了,雖然還不是主流。

當然,這是和三年前比的,當年Python3實在是太不受待見。我相信3年後,Python3就是真正的主流了。


換不換完全是個成本問題,現有大量代碼是不是還能用。如果很多需要的庫還沒3的版本,那更換的成本是巨大的。


如果完成了這個歷史進程……

Welcome to Python.org

這裡就不會提供python2.7的download了


大概得等到python4出來吧


opencv表示還要再等一等


目前python官方沒有放棄維護python2,只是不加新功能了,但是還在每隔幾個月繼續給python2.7打補丁修bug,畢竟市場主流還是python2。

python每一個大版本都不向後兼容,簡直就是自己給自己埋大坑,怪不了別人。

你們看從php1 到 php7都是完美向後兼容的,不愧是世界上最強大的語言(逃


本來我也以為整體上Py3已經佔優了,有意今後完全使用Py3,結果看到今年的 Pycon 上 Guido 依舊是一臉小媳婦樣,苦口婆心敦促各位開發者儘快切換到Py3,幫助已經停止維護的模塊做兼容,演講中數次無奈地停頓,甚至「哽咽」,我就知道情況其實還很糟,國內外都差不到哪裡去。

視頻如下:(YouTube,翻牆要)

所以現階段,如果懶得折騰,避免踩坑,還是用Py2比較舒服。如果時間充裕,自己寫代碼可以考慮兼容Py3,我看了一些文章,貌似也不算很麻煩。

Python還算好的,看看被Guido嘲諷的Perl,下一個版本完全就是另外一種語言,而且還不見得真能出,出了我想多半也沒人用,想想大CPAN上的模塊數量就絕望了。


感覺取決於RHEL默認安裝的python版本吧。。。


可能永遠都不會替換吧。。。

那麼大量的庫彼此相互依賴,一般的庫最多就支持3。。。


最新情況:搞web開發之類的還是用py2的多,但搞數據科學現在基本都py3了,之前不推薦py3是因為它不支持一些3D繪圖庫,但現在一些機器學習庫剛出來的新版有的只支持py3,所以搞數據的還是用py3吧。

--------------------------------

照目前的情形看,哪怕python3退出歷史舞台了python2還會活的好好的!

官方倒是想讓py2早死早超生,然而天不遂人願,

1:由於py3和py2語法不兼容,而3的更新帶來的一點點改進和好處遠不能彌補產品切換版本帶來的成本和損失。

2:未來python的主流應用方向將從以web後端開發的工程方向,轉向數據科學、機器學習為主的科學研究方向,這個方向現在主流的工業界方案都是基於py2的,如果切換到py3很多庫都不兼容,而且也沒有什麼特別的好處,不用槍頂著的話沒人會切換。

3:python3發布已經8年了,8年都沒替換了py2,你想未來還能替換么?不客氣的說,py3死了2也死不了。

所以python未來的脫困正路,應該是跳過4發布一個全新的大版本,Python5,全面向下兼容py2和py3。這才是正道。

專欄:知乎專欄

http://weixin.qq.com/r/6jt-ZwnEaFQXrU0E9274 (二維碼自動識別)


試答

我覺得近期內並不行

原因實在太多 舉幾個大的栗子

Python2 運行速度快 比Python3 快很多

有些事Python3 做不了 比如寫外掛

PyWin32 和PyHook 這樣的系統級包並沒有Python3 版本的

很多大公司也傾向Python2 比如-Inter- Intel

前段時間不是有個新聞么 說兩個-Inter- Intel公司的工程師嫌硬體測試每次都要擼C 代碼太鬧心 據說正在把Python 移植到主板里 這樣測試硬體就可以寫Python 代碼了 這裡的Python 也是Python 2

Python2 包多

^ 以上是答題主問

再說點別的

Python 3 的好處也不是沒有

比如用unicode 取代了str 類型 從此再也沒有什麼編碼問題了

然後吐槽下

雖然Python 很強大 但是定位不清晰

既不是專業做網站後台的 也不是專業做數據分析的

啥都能做 啥都做得挺好但是達不到巔峰

就題主這個問題 很難從語言的發展方向來討論Python3 是否能取代Python2

=====

看了下好像並沒有答完

不管是樂觀保守Python 應該會在Python 4 達到統一

完成替換么 我覺得是比如Flask 啦,Panda 啦, BeautifulSoup 啦宣布Python2.0 版本停更了 這時候就差不多是完成替換的時候了


推薦閱讀:

求一本 Python 3 的好書,入門級別或中等級別,求推薦?
Python操作MySQL資料庫安全嗎?
哪裡有優秀的python代碼可供閱讀?
python 3.5 中 PEP0484 新加入的 Type Hints 的使用方法是什麼?
用python去修改linux環境變數為何無效?

TAG:Python | Python3x |