Python 的使用

Meson 是用 Python 實作的。這有好有壞。人們似乎最關心的是建置原始碼時對 Python 的依賴。此頁面討論這個問題的各個方面。

相依性地獄

有許多 Python 程式在多個平台上難以維護。原因大多來自於相依性。該程式可能使用難以在某些平台上編譯、過時、與其他相依性衝突、在給定 Python 版本上不可用的相依性等等。

Meson 透過一個簡單的規則來避免相依性問題:Meson 不允許有任何 Python 基本程式庫之外的相依性。您唯一需要的是 Python 3(以及可能需要的 Ninja)。

可重新實作性

Meson 的設計方式是,實作語言永遠不會在建置定義中暴露出來。這使得在任何其他程式語言中重新實作 Meson 成為可能(甚至可能很容易)。目前沒有重新實作 Meson 的計畫,但我們會確保 Python 不會在建置定義中暴露出來。

跨平台工具

目前沒有一種技術解決方案或程式語言可以在所有正在使用的作業系統上原生運作。當 Autotools 在 80 年代後期設計時,Unix Shell 幾乎在任何地方都可用。現在情況不再如此。

此外,隨著任何專案越來越大,遲早都需要程式碼產生、腳本或其他工具。這似乎是不可避免的。因為沒有一種腳本語言可以在任何地方都可用,因此這些工具要么需要針對每個平台重寫(這需要大量工作並且容易出錯),要么專案需要依賴於某個東西

任何使用 Meson 的專案(至少目前版本)都可以依靠 Python 3 總是可用的事實,因為沒有它您就無法編譯專案。然後,所有工具都可以使用 Python 3 完成,並且知道它可以在任何平台上運行,而無需任何額外的相依性(除了通常的移植工作)。這大大減少了多平台專案的維護工作。

搜尋結果如下