Python 的使用

Meson是用Python实现的。这既有积极的一面,也有消极的一面。人们似乎最关心的是构建源代码对Python的依赖。本页讨论了这个问题的各个方面。

依赖地狱

许多Python程序在多个平台上难以维护。原因主要来自依赖项。该程序可能使用在某些平台上难以编译、过时、与其他依赖项冲突、在给定Python版本上不可用等等的依赖项。

Meson通过一个简单的规则避免了依赖问题:Meson不允许有任何来自Python基本库之外的依赖项。你唯一需要的就是Python 3(以及可能还有Ninja)。

可重新实现性

Meson的设计使得实现语言永远不会暴露在构建定义中。这使得用任何其他编程语言重新实现Meson成为可能(甚至可能更容易)。目前还没有重新实现Meson的计划,但我们将确保Python不会在构建定义中暴露出来。

跨平台工具

目前还没有一种技术解决方案或编程语言能够在所有正在使用的操作系统上原生运行。在80年代后期设计Autotools时,Unix shell几乎随处可用。现在情况不再是这样了。

任何项目随着规模的扩大,迟早都会需要代码生成、脚本或其他工具。这似乎是不可避免的。由于没有一个脚本语言可以在所有地方使用,这些工具要么需要为每个平台重写(这需要大量工作并且容易出错),要么项目需要依赖于 *某种东西*。

任何使用Meson的项目(至少是当前版本)都可以依赖于Python 3 始终可用这一事实,因为你无法在没有它的情况下编译该项目。然后,所有工具都可以使用Python 3 完成,并且可以知道它将在任何平台上运行,而无需任何额外的依赖项(除了通常的移植工作之外)。这在很大程度上减少了多平台项目的维护工作量。

搜索结果是