Автоматически обновлять python script

TL; DR Мне нужен модуль, который будет автоматически обновлять мой script в фоновом режиме.

У меня есть Python script, который я распространяю для пользователей. Я часто обновляю это, а затем попрошу их обновить его (через PIP). Очевидно, что это не высокий приоритет для пользователей, которые просто хотят использовать приложение, а не думать об обновлении.

Мне бы хотелось, чтобы он автоматически обновлял мое приложение, как и Google Chrome, автоматически, в фоновом режиме, автоматически. Есть ли библиотека, которая позволяет мне сделать это уже? Если нет, есть ли простой способ использовать модуль PIP/distribute для этого?

Ответ 1

Самый простой способ сделать это - настроить веб-службу, которую пинцет script, когда он запущен. Веб-служба может вернуть номер версии, который script может проверить на свой номер версии. Если номер версии выше, он может обновляться и повторно запускаться.

Ответ 2

Я экспериментировал с BitRock для приложения с открытым исходным кодом, которое я разрабатываю. Они предоставляют кросс-платформенные установщики для приложения, которое имеет автоматические обновления. Лицензирование бесплатное, если ваше приложение является открытым исходным кодом, но для коммерческих продуктов требуется покупка лицензии. Это может быть слишком сложно, если ваше приложение мало, но я думал, что все равно дам его как один из вариантов.

Ответ 3

Если программа pip уже работает для вас, почему бы вам просто не сделать os.system("pip install -U myscript") при запуске script? Это немного грязно, но так же распространяется через pip для не-разработчиков.