Как работает Mercurial без установленного Python? - PullRequest
8 голосов
/ 05 августа 2009

На моем компьютере с Windows 7 установлен Mercurial 1.3. У меня не установлен python, но с Mercurial все в порядке.

Как это работает?

Также возможно ли запустить Mercurial на IronPython и будет ли он совместим?

Спасибо.

Ответы [ 4 ]

17 голосов
/ 05 августа 2009

Установщик Mercurial для Windows упакован с использованием py2exe . Это помещает интерпретатор Python как DLL внутри файла с именем «library.zip».

На моем компьютере он находится в "C: \ Program Files \ TortoiseHg \ library.zip"

Этот zip-файл также содержит библиотеки Python, необходимые для Mercurial.

Подробное описание того, как Mercurial упакован для Windows, см. На странице разработчика, описывающей сборщик Windows * .

7 голосов
/ 05 августа 2009

Поскольку существует «library.zip» (9 МБ), бинарный пакет Mercurial для Windows может быть сделан из py2exe , py2exe - это расширение Python Distutils, которое преобразует скрипты Python в исполняемые программы Windows, способные работать без требует установки Python.

6 голосов
/ 16 августа 2009

Другие ответили на первый вопрос - позвольте мне дать предположение о второй части.

Mercurial обычно использует некоторые расширения Си для скорости.Вы не можете использовать их с IronPython.

Но мы также поставляем чистые версии этих модулей на Python, и в зависимости от того, насколько IronPython реализует стандартную среду Python 2.4, эти модули могут быть совместимы.Я видел сообщения на IRC о том, что Jython (порт Java Python) может выполнять несколько операций с использованием чистых модулей.Вы должны скачать Mercurial и взглянуть на папку mercurial/pure.Эти модули просто нужно переместить на один уровень каталога, чтобы найти, сценарий setup.py может сделать это, если вы передадите флаг --pure.Пожалуйста, посмотрите его источник или поговорите с нами в списке рассылки Mercurial / IRC.

3 голосов
/ 05 августа 2009

Mercurial связывает необходимые двоичные файлы Python в нем.

...