Я создал приложение Python Gui, которое запускает разные процессы, и я постоянно добавляю новые функции и исправления ошибок. Множество людей используют его, и они не очень ориентированы на технологии, поэтому вместо того, чтобы вручную загружать новую версию и удалять старую версию, которую я хотел бы, чтобы программа подсказывала пользователю при запуске, что есть новая версия и если Они хотели бы обновить это. Метод, который я использую для обновления моего репо, - это я внося свои изменения, а затем заморозить программу в файл EXE, подключить ее вместе с новым исходным кодом в мой репо (примечание я также включаю файл «version.txt», который имеет номер версии в нем). Как сделать мою программу обнаружить изменение и перезаписать текущую программу, установленную на их компьютере? Есть ли лучшие практики для метода, который я использую для загрузки своего исполняемого файла? Для дальнейшего контекста это находится в репо GitHub Enterprise, поэтому я использую токен GitHub API для аутентификации. < /p>
Код: Выделить всё
req = requests.get(url, headers=headers)
open("program.exe", "wb").write(req.content)
subprocess.run(["program.exe"])
Используя URL "
https://github.build.company/user/repo/ ... rogram.exe"
, но это просто возвращает HTML для Аутентификация от моей компании
И когда я пробую URL для загрузки, где замороженный файл хранится в файлах проекта »
https://github.build.company/user/repo/raw/ main/dist/program.exe "
a получаю ошибку [Winerror 193] %1 не является действительным приложением Win32
Подробнее здесь:
https://stackoverflow.com/questions/793 ... n-my-githu