Подтвердить что ты не робот

Генерировать сборки .NET из Iron Python

У меня есть Iron Python script, который я хочу запустить, а затем интерпретатор ipy выводит сборку, которую я могу запускать на других машинах. Как мне это сделать? Есть ли переключатель, который я могу передать ipy.exe?

4b9b3361

Ответ 1

Есть инструмент, который поставляется с IronPython под названием Pyc или компилятор командной строки Python. Если вы установили последнюю версию 2.6 IronPython, то pyc.py будет доступна в C:\Program Files (x86)\IronPython 2.6\Tools\Scripts или везде, где вы установили IronPython в своей системе. Если у вас более ранние версии IronPython, то pyc.py будет доступен как отдельная загрузка в пакете образцов.

С помощью pyc.py вы можете создавать консоли или сборки Windows из сценариев python. Основное использование выглядит следующим образом:

ipy pyc.py /out:myprogram.exe /main:mainfile.py /target:exe program.py support.py

Выше будет создана сборка под названием myprogram.exe (/out), которая является консольным приложением (/target) и будет выполнять код в mainfile.py first (/main), а также будет включать код из program.py и support.py в сборке.

Ответ 2

Использование SharpDevelop

Один из способов использования SharpDevelop, он легко собирает сборки (исполняемые файлы и библиотеки классов).

Процесс прост:

  • Создание решения Python (варианты включают: приложение класса lib, консоль или Windows)
  • Введите свой код Python как обычно
  • Создайте свое решение или проект

Файлы .exe и .dll будут в соответствующем каталоге вывода сборки (Debug или Release).


Использование pyc.py

Другим способом является компилятор командной строки IronPython script, называемый pyc.py.

Компилятор script можно найти в каталоге: [IP_install_dir]\Tools\Scripts

Использование:
ipy.exe pyc.py /main:Program.py Form.py /target:winexe


Примечание. Чтобы получить скомпилированный exe для запуска, вам понадобятся следующие файлы в том же каталоге, что и ваш исполняемый файл:

IronPython.dll
IronPython.Modules.dll
Microsoft.Dynamic.dll
Microsoft.Scripting.Core.dll
Microsoft.Scripting.Debugging.dll
Microsoft.Scripting.dll
Microsoft.Scripting.ExtensionAttribute.dll

Ответ 3

вы также можете скомпилировать с помощью

import clr
clr.CompileModules("foo.dll","foo.py")

для asp.net, если вы используете pyc.py для компиляции, вы не сможете импортировать модули. Они ожидают исправить это в 2.6.2 или новее