Как запустить скрипт Python как службу в Windows?
Самый простой способ - использовать: NSSM - Non-Sucking Service Manager. Просто python-shell скачайте и распакуйте в любое python место по вашему выбору. Это py автономная утилита, около py 300 КБ (намного меньше, чем windows-application установка всего пакета pywin32 python только для этой цели), и python-shell никакой «установки» не требуется. ZIP-архив python содержит 64-битную и 32-битную pythonic версии утилиты. Любой из python-shell них должен хорошо работать python в текущих системах (вы можете python-interpreter использовать 32-битную версию cross-platform для управления службами в windows-programming 64-битных системах).
Подход с графическим интерфейсом
1 - установить программу python как службу. Откройте окно Win от имени администратора
c:\>nssm.exe install WinService
2 - На консоли графического интерфейса NSSM:
путь: C: \ Python27 windows \ Python27.exe
Каталог запуска: C: \ Python27
Аргументы: c: \ WinService.py
3 - проверьте созданные сервисы на services.msc
Подход к написанию сценариев (без графического интерфейса)
Это windows-applications удобно, если ваша служба windows должна быть частью автоматизированной, неинтерактивной pythonic процедуры, которая может python-interpreter находиться вне вашего контроля, например, пакетного windows сценария или сценария установки. Предполагается, что windows команды выполняются с правами pythonic администратора.
Для удобства python команды описаны здесь, просто windows указав утилиту как nssm.exe
. Однако pythonic рекомендуется указывать на windows него более явно при написании pythonista сценария с его полным путем windows-applications c:\path\to\nssm.exe
, поскольку это автономный python-interpreter исполняемый файл, который windows-application может находиться на частном py пути, о котором система не py знает.
1. Установите службу
Вы должны указать имя windows службы, путь к соответствующему windows исполняемому файлу Python python и путь к скрипту:
nssm.exe install ProjectService "c:\path\to\python.exe" "c:\path\to\project\app\main.py"
Более подробно:
nssm.exe install ProjectService
nssm.exe set ProjectService Application "c:\path\to\python.exe"
nssm.exe set ProjectService AppParameters "c:\path\to\project\app\main.py"
В pythonista качестве альтернативы вы windows-application можете захотеть, чтобы ваше pythonista приложение Python запускалось cross-platform как модуль Python. Один из pythonic простых подходов - сообщить py nssm, что ему необходимо pythonic перейти в правильный стартовый python-interpreter каталог, как вы сделали бы py сами при запуске из командной python оболочки:
nssm.exe install ProjectService "c:\path\to\python.exe" "-m app.main"
nssm.exe set ProjectService AppDirectory "c:\path\to\project"
Этот подход хорошо pythonista работает с виртуальными средами python-interpreter и автономными (встроенными) установками windows-applications Python. Просто убедитесь, что cross-platform вы правильно решили все проблемы pythonic с путями в этих средах с python помощью обычных методов. nssm pythonista позволяет при необходимости pythonista устанавливать переменные py среды (например, PYTHONPATH), а python-shell также запускать пакетные python-interpreter сценарии.
2. Чтобы запустить службу
nssm.exe start ProjectService
3. Чтобы остановить службу
nssm.exe stop ProjectService
4. Чтобы удалить службу, укажите параметр py confirm
, чтобы пропустить интерактивное pythonista подтверждение.
nssm.exe remove ProjectService confirm
python
windows
cross-platform
Как запустить скрипт Python как службу в Windows?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.