[英]How can I make my tkinter program autoupdate?
我正在使用 python 和 tkinter 創建一個小程序。 我想讓程序檢查用戶使用的版本是否是最新版本。 如果沒有,那么我想彈出一個窗口來提示用戶更新。 然后,我希望我的軟件自動為用戶安裝最新版本。 我該怎么做呢?
第一部分似乎很不言自明。 另一個堆棧溢出線程建議擁有一個具有正確版本的文本文件,然后對照用戶擁有的文本文件進行檢查。 我不確定如何讓程序自行更新。
編輯:
添加一些細節。 是否可以使用 Python 下載 git 存儲庫並刪除用戶下載的舊版本?
這是我制作的代碼:旁注:我不知道您是要下載多個還是只下載一個,我給出的示例只下載一個
from tkinter import *
import requests
import os
import sys
VERSION = 0
def check_updates():
try:
link = "https://raw.githubusercontent.com/User/Repo/Branch/SpecificFolderForUpdates/version.txt"
check = requests.get(link)
if float(VERSION) < float(check.text):
mb1 = messagebox.askyesno('Update Available', 'There is an update available. Click yes to update.') #confirming update with user
if mb1 is True:
filename = os.path.basename(sys.argv[0]) #gets current name of itself
savedrecordings = "Saved Recordings"
for file in os.listdir():
if file == filename: #Does not delete itself
pass
else:
os.remove(file) #removes all other files from the folder
exename = f'dcbot{float(check.text)}.exe'
code = requests.get("https://raw.githubusercontent.com/User/Repo/Branch/SpecificFolderToUpdate/file.exe", allow_redirects = True)
open(exename, 'wb').write(code.content)
root.destroy()
os.remove(sys.argv[0])
sys.exit()
elif mb1 == 'No':
pass
else:
messagebox.showinfo('Updates Not Available', 'No updates are available')
except Exception as e:
pass
root = tk.Tk()
root.geometry('800x400')
root.resizable(True, True)
root.title('Checking for updates...')
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.