Можно ли объединить скрипты .py и .ps1 в .exe? - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть файл Python, который содержит графический интерфейс 'window.py', скрипт powershell 'get-aduser.ps1'. Возможно ли объединить эти два файла в один exe?

Файл window.py содержит поле со списком, который запускает скрипт .ps1 при запуске.Затем в поле со списком выводится сценарий Powershell.

Причина, по которой я хочу это сделать:

Мои коллеги должны запустить программу на своем клиенте безнеобходимость установить Python и все используемые библиотеки.

У всех есть инструменты RSAT, поэтому это не должно быть проблемой при выполнении сценария powershell.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Как я решил проблему:

Я создаю сценарий powershell временно при запуске .exe вместо того, чтобы пытаться упаковать в один .exe файл python, например:

with open("C:\\Temp\\newusers.ps1", 'w', encoding='utf8') as f:
f.write('$s = "OU=,DC=,DC="\n$User = Get-ADUser -Filter * -Properties name, employeeID -Searchbase $s | Select-Object -Property name,employeeID\n$User | Out-File -Encoding utf8 C:\\Users\\USER\\Desktop\\users.txt')`

и после закрытия графического интерфейса я удаляю скрипт .ps1:

os.remove('C:\\Temp\\newusers.ps1')

Упаковка файла python в .exe.

Шаг первый: установка pyinstaller

pip install pyinstaller

Шаг второй: используйте его

pyinstaller -F C:\Path\to\your\file.py   
0 голосов
/ 27 ноября 2018

Общий способ предоставления пользователям решений на основе Python без необходимости заставлять их входить в состав модуля Python: pyinstaller

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...