當前位置:
首頁 > 科技 > 簡說 Python 生態系統的 14 年演變

簡說 Python 生態系統的 14 年演變

出品 | Python大本營(ID:pythonnews)

【CSDN 編者按】Python 里各種豐富的標準庫、第三方庫和模塊成為其廣受歡迎的原因之一。而 PyPI 就是大家想第三方庫前先要安裝的一個倉庫。

作為使用者,它可以幫我們查找 Python 社區開發和共享的軟體;而作為開發者,可以用 PyPI 分發自己的軟體。

從 2003 年創建 PyPI 到現在,整個社區又是如何發展的?現狀如何?有哪些有趣的發現,本文將與大家一起進行初步探索。

構建 PyPI 鏡像一件非常酷的事情就是讓我掌握了很多的數據。至此,我決定探索一下自 2003 年創建 PyPI 以來,整個生態系統發生了怎樣的變化。不過,接下來大部分的分析都是始於 2005 年,這一年 PyPI 添加了 upload_time 。

下圖展示了2005-2018 年活躍的 Python Packages 數量,藍色表示 Old Packages,橙色表示 New。

在這十四年間,Python 的生態系統一直在穩步增長。隨著 PyPI 在 Python 社區幾乎被完全接受,在那幾年裡持高速增長。之後活躍 Packages 的數量每年增長 28% 到 48%(活躍 Packages 指的是已經發布過一版或發布了新版本)。

在這14年的時間裡,Python的生態系統一直在穩步增長。對於PyPl而言,在它被Python社區幾乎完全接受的那幾年裡持高速增長狀態, Packages (至少更新過一個版本或剛剛上線的)數量也在活躍增長,年複合增長率可達28%至48%。

如圖所示,66%的Packages是新發布的,其中絕大多數不會持續維護;持續一年以上維護的Packages還是保持強勁增長;每年新上線的Packages增幅在31%~59%,儘管增速有所減緩,但勢頭不減。這意味著,整體上看,Packages正發布著越來越多的版本,預示著PyPl變得越來越成熟。

結果最令我吃驚的是,每個Packages的發布數量。此前我一直靠個人經驗,升級Packages依賴庫,例如 AWS 的 #15 botocore,但是 ccxt 庫 的「脫穎而出」是我沒想到的。在不到兩年的時間裡,ccxt 已經發布了 4659 個版本,發布數量比其他的 Packages 的 3 倍還多。但是當我在嘗試載入它的時候, libraries.io 頁面的載入時間要 30 多秒,所以,我也不確定它的維護是好還是壞,但是真的是讓人印象非常深刻!

另外一個有趣的發現是分發 Packages實踐上的變化。最大的變化是 Python 3 的發布。Binary Wheels 於 2012 年被引入並編入PEP 427,被普遍認為是分發 Python Packages 的最佳方式,但 Packages 作者的接受周期還需要時間。Python Wheels 可以跟蹤 PyPI 360 個 Packages 的採用情況,如下圖:

(圖片來源:https://pythonwheels.com/)

並不是每個 Packages 都將作為 wheel 發布,特別是 psycopg2 馬上就要停止發布了,其捆綁的 LibSSL 和系統自帶的 LibSSL 間有衝突,不過這種情況並不常見,所以希望未來可以有更多的 Packages 被作為 wheel 分發,保持現在的強勁勢頭,可以達到 90% 乃至更多。如果按照下面圖中趨勢的發展,也許 2022 年就可以實現了。

https://pydist.com/blog/growth-of-python-ecosystem

聲明:本文為Python大本營編譯文章,轉載請聯繫Python大本營。

【End】

熱 文推 薦

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

那些簡歷造假拿 Offer 的程序員,後來都怎麼樣了?
叫板 Android 開發!跨平台應用開發神器 Flutter 又添開源插件!

TAG:CSDN |