Я пишу веб-приложение на Python, предназначенное для использования учителями и учениками в классе. Он будет запускаться с размещенного на сайте веб-сайта, но я также хочу, чтобы люди могли загружать автономное приложение, которое они могут установить локально, если им нужна более высокая производительность или у них просто не будет доступного подключения к Интернету в классе.
Пользователи не смогут управлять такими инструкциями, как «сначала установите Python, затем установите зависимости, загрузите архив .tar.gz и введите эти команды в командную строку ...». Мне нужно иметь возможность создать установщик типа «все в одном», который потенциально может установить Python, зависимости (Python-LDAP), некоторый код Python и зарегистрировать веб-сервер на основе Python в качестве службы Windows.
Я просматривал предыдущие вопросы, но ни один из них не показался мне актуальным. Я не беспокоюсь о безопасности исходного кода (мое приложение будет с открытым исходным кодом, я буду продавать контент, чтобы идти с ним), мне просто нужны нетехнические пользователи Windows, чтобы иметь возможность загружать и использовать мое приложение без суеты .
В настоящее время я думаю об использовании NSIS для создания установщика, который включает Python и Python-LDAP в качестве MSI, затем регистрирует мой собственный простой веб-сервер на основе Python в качестве службы Windows и добавляет ярлык в меню «Пуск» / на рабочем столе со ссылкой на http://localhost. Возможно ли это с NSIS - может ли NSIS проверять, например, установленные на данный момент копии Python? Есть ли лучший способ сделать это - есть удобный фреймворк, который позволяет мне поместить мой код в папку и связать его для создания установщика?