我是一位擁有超過10年經驗的Java
開發人員。選擇Python 2(.7.x)和Python 3(.5.x)
幾個月前我開始使用python
,因爲我需要創建一個腳本,它從REST服務中提取數據,然後使用此數據生成報告。 python
是一種多用途語言(腳本編寫,Web應用程序,REST服務等)以及非常快的開發速度,這引發了我對這種語言的深刻興趣。事實上,這是我在Linux
世界中唯一使用的語言。
目前我正在嘗試將我的(powershell/shell)
自動化腳本移植到python
,該腳本是爲Piston(基於開放源碼的Java的微門戶技術)的完全自動化發佈過程而開發的。然而在我面前的一個主要挑戰是我應該使用python
的哪個版本(2或3)?理想情況下,我更喜歡3,因爲我相信這比第2版有很多改進,我想使用這個版本的所有新開發。不過我擔心的是可能有一些軟件包可能不是python 3的一個版本。這是已經在python.org網站也被提及 -
然而,也有可能需要使用Python 2而不是Python中的一些關鍵問題3.
首先,如果你部署到一個你不能控制的環境,這可能會強加一個特定的版本,而不是讓你從可用的版本中自由選擇。其次,如果你想使用一個特定的第三方包或者還沒有與Python 3兼容的發佈版本的工具,並且移植這個包是一件不平凡的任務,你可以選擇在Python 2中使用爲了保留對該軟件包的訪問權限。
Twisted(用於網絡和其他應用程序)還不支持Python 3的一個流行模塊。大多數主動維護的圖書館都有人致力於3.x支持。對於一些圖書館來說,它比其他圖書館更重要:例如,Twisted主要關注生產服務器,支持舊版本的Python很重要,更不用說支持包含對該語言進行重大更改的新版本。 (Twisted是移植到3.x的主要軟件包的一個主要示例,它遠不是微不足道的。)
所以我不想處於一種我認爲可以非常對我的自動化腳本很有用,但沒有python
的版本3.
爲什麼你不試着確定你需要哪些軟件包? 您可以嘗試爲大多數腳本運行Python 3,並且當您遇到需要3中尚未支持的包的問題時,可以使用virtualenv? –