Развертывание скрипта 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
будет вашей программой.- Внутри вашей папки проекта (где
MyProgram.py
is), создайте папку с именем "deploy". - Бежать
cd deploy
в командной строке. - Бежать
"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
папка и и отправить его!