没有安装Python,Mercurial如何工作?

8 投票
4 回答
1817 浏览
提问于 2025-04-15 13:23

我在我的Windows 7电脑上安装了Mercurial 1.3。虽然我没有安装Python,但Mercurial似乎也能正常工作。

这是怎么回事呢?

另外,能不能强制让Mercurial在IronPython上运行?这样会兼容吗?

谢谢。

4 个回答

6

其他人已经回答了第一个问题——让我来猜测一下第二部分。

Mercurial 通常会使用一些 C 语言扩展来提高速度。但是,你不能在 IronPython 中使用这些扩展。

不过,我们也提供了这些模块的纯 Python 版本。根据 IronPython 对标准 Python 2.4 环境的实现程度,这些模块可能是兼容的。我在 IRC 上看到过关于 Jython(Python 的 Java 版本)能够使用这些纯模块进行一些操作的报告。你可以下载 Mercurial,看看 mercurial/pure 文件夹。这些模块只需要上移一个目录就能被找到,如果你传递 --pure 参数,setup.py 脚本可以做到这一点。请查看它的源代码,或者来 Mercurial 的邮件列表/IRC 上和我们聊聊。

7

因为有一个名为“library.zip”的文件(大小为9MB),所以Mercurial的Windows版本可能是通过py2exe制作的。py2exe是一个Python的工具扩展,它可以把Python脚本转换成可以直接在Windows上运行的程序,这样就不需要安装Python了。

17

Mercurial的Windows安装程序是用py2exe这个工具打包的。这个工具会把Python的解释器放在一个叫“library.zip”的文件里,实际上是作为一个DLL文件存在。

在我的电脑上,这个文件放在“C:\Program Files\TortoiseHg\library.zip”这个位置。

这个zip文件里还包含了Mercurial所需要的Python库。

如果你想了解Mercurial是如何在Windows上打包的,可以查看开发者页面,里面有关于构建Windows安装程序的详细说明。

撰写回答