Развертывание скрипта IronPython или статическая сборка приложения

Я создал скрипт IronPython, который импортирует из библиотек Python, таких как os, sysи т. д., а также библиотеки.NET.

Он отлично работает из моего решения Visual Studio IronPython, но мне нужно развернуть его, чтобы другие люди, у которых не установлен IronPython или Python, могли его запустить.

Как бы я это сделал?

1 ответ

Требования:

  • ipy.exe в C:\Program Files (x86)\IronPython 2.7.1\
  • pyc.py в C:\Program Files (x86)\IronPython 2.7.1\Tools\Scripts\
  • MyProgram.py будет вашей программой.

    1. Внутри вашей папки проекта (где MyProgram.py is), создайте папку с именем "deploy".
    2. Бежать cd deploy в командной строке.
    3. Бежать "C:\Program Files (x86)\IronPython 2.7.1\ipy.exe" "C:\Program Files (x86)\IronPython 2.7.1\Tools\Scripts\pyc.py" /main:..\MyProgram.py /target:exe

Это сгенерирует dll и exe для MyProgram в deploy папка.

Если вы попытаетесь запустить MyProgram.exe и вы импортируете библиотеки как osВы можете получить No module named ...,

С тех пор, я использую osЯ получаю эту ошибку:

Если вы запускаете "MyProgram.exe" и используете стандартные библиотеки, вы можете получить No module named... ошибки.

В моем случае я получил:

Необработанное исключение: IronPython.Runtime.Exceptions.ImportException: нет модуля в среде пользователя
...

Чтобы исправить эту проблему, скопируйте Lib папка из C:\Program Files (x86)\IronPython 2.7.1\ к deploy папка, которую вы только что создали. Затем, прежде чем импортировать библиотеки, которые выдают ошибки, измените MyProgram.py как это:

import sys
sys.path.append("Lib")

# Followed by library imports that were causing you trouble:
import os

В качестве последнего шага скопируйте следующие файлы из C:\Program Files (x86)\IronPython 2.7.1\ в deploy папка также:

-IronPython.dll
-IronPython.Modules.dll
-Microsoft.Dynamic.dll
-Microsoft.Scripting.dll

Теперь вы можете застегнуть deploy папка и и отправить его!

Другие вопросы по тегам