Python!請不要再亂搞 Linux 發行版了
Python 社群痴迷於重新發明輪子,一遍又一遍,一遍又一遍。distutils、setuptools、pip、pipenv、tox、flit、conda、poetry、virtualenv、requirements.txt、setup.py、setup.cfg、pyproject.toml ……老實說,我什至無法列出你必須處理的所有事情. 這是一場災難。
這部漫畫已經有將近4年的歷史了,後來變得更糟糕了。Python是一個爛攤子。我真的想喜歡Python。我已經在許多專案中使用它很多年了,包括SourceHut,它主要是用Python開發的。但我根本無法處理它了,我一直在努力將Python從我的堆疊中移除。
這一直是Python的一個問題,但在過去的幾年裡,每個人和他們的表弟都決定透過建立另一個與所有其他的完全不相容的混亂來 "解決 "這個問題,所有的 "解決方案 "都在社群中獲得了不同程度的成功,但沒有一個被祝福為官方的答案。
我以我認為唯一合理的方式管理我的 Python 包:從我的 Linux 發行版的軟體包管理器中安裝它們。我自己為 Alpine Linux 維護了幾十個 Python 包。正是從這個角度出發,在 Python 打包世界的所有這些動盪中,我發現自己感到特別不舒服。
這些軟體包管理器中的每一個都是為一個魯莽的世界而設計的,在這個世界裡,程式設計師們把軟體包批發到~/.pip中,設定virtualenvs並把他們的依賴關係釘在10個版本和6個漏洞之前,並把他們的計算機直接裝在Docker容器中運送到生產中,目的是做最少的事情,使使用者的私人資料儘可能不安全。
儘管我們一再請求,但這些新式的解決方案沒有一個能滿足任何發行版的需求。他們都破壞了與我們的使用案例的向後相容性,並將我們的投訴傳送到/dev/null。我已經看到來自每個 Linux 發行版的代表反覆地、絕望地請求 Python 解決他們的問題,從 Debian 到 Arch 到 Alpine 到 NixOS,還有非 Linux 發行版,如 FreeBSD 和 Illumos。每個人都很沮喪。我們現在都在掙扎著與 Python 打交道,而 Python 卻不聽我們的。
是什麼讓 Linux 發行版使我們的用例變得不重要了?在過去的 30 年中,我們沒有給 Python 提供任何價值嗎?你是否覺得是時候甩掉我們所代表的 "遺留 "系統,擁抱勇敢的新世界--無伺服器雲規模的監管--套利的移動--快速和打破東西的techbro創業公司文化?
發行版現在感到特別沮喪,但我不認為我們是孤獨的。每個人都對Python包裝感到沮喪。我呼籲PSF坐下來進行一些嚴肅、清醒的工程工作來解決這個問題。擬定一份你需要支援的用例清單,挑選出最有希望的方案,並投入時間使其正常工作,從今天到明天。設計一些你可以堅持的東西,並使其在未來30年內保持穩定。如果你必須打破一些人的心,沒關係。不是所有這些解決方案都能獲勝。現在,上游的忽視正在毀掉Python的生態系統。情況很嚴重,我們現在需要強有力的上游領導。
相關文章
- 不要再寫出不能在 Python 4 中執行的程式了Python
- 不要再選擇MySQL了MySql
- ⚠ | 不要再使用 markdown 主題了!
- 不要再問我Java程式是怎麼執行的了!Java
- 不要再問我MVC、MVP、MVVM了MVCMVPMVVM
- 初入職場的小夥伴請注意,這 8 個坑不要再踩了
- 不要再滿世界搜linux命令了,我給你整理到一塊了Linux
- 不要再滿世界搜linux命令了,我給你整理到一塊了。Linux
- 【漫畫】不要再問我快速排序了排序
- 不要再爭論程式碼風格了!
- 不要再問我跨域的問題了跨域
- Linux 發行版 Ultimate Edition 3.9 太坑爹了Linux
- 請不要再責怪你的程式設計師“太慢”程式設計師
- Bitset 亂搞字串匹配字串匹配
- 你們不要再吵了! Java只有值傳遞..Java
- Linux發行版Linux
- 程式設計師到底是幹什麼的?請不要再黑程式設計師了程式設計師
- 什麼是Linux發行版?Linux發行版推薦Linux
- python收到MQTT訊息後再發http請求PythonMQQTHTTP
- 基於亂搞做法的無害版 readme4.0
- 不要再手動合併你的拉取請求(PR)
- [技術討論]拜託,不要再本本主義了
- 工作發狂:Mybatis 中$和#千萬不要亂用!MyBatis
- 手機termux安裝Linux發行版再安裝青龍皮膚Linux
- 從 流行linux發行版 看 發行版引數Linux
- 請不要打斷開發人員
- 拜託!面試請不要再問我Spring Cloud底層原理面試SpringCloud
- 拜託,不要再問我執行緒池啦!執行緒
- 面試官,不要再問我“Java GC垃圾回收機制”了面試JavaGC
- 不要再學 JSP 了,學 SpringBoot + Thymeleaf + Vue吧JSSpring BootVue
- 不要再勸導菜鳥程式猿使用vim或者Emacs了Mac
- 拜託,不要再幫黑客來猜我的密碼了黑客密碼
- 國產Linux發行版系統再添一員,顏值完全不輸蘋果Linux蘋果
- 主流發行版之前的那些最早的 Linux 發行版Linux
- [技巧] 亂搞技巧 長期更新
- Linux發行版 vs Linux核心Linux
- 不要再說你不會了——網路效能問題排查思路
- python併發執行request請求Python