Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0df6de9314 | ||
|
|
b1822867ed | ||
|
|
0e4aeb62d2 | ||
|
|
5313f6d06e | ||
|
|
97bd44f6bd | ||
|
|
1ad00b059d | ||
|
|
d516496935 | ||
|
|
fbf21c7259 | ||
|
|
936eae1054 | ||
|
|
e5524e33e3 | ||
|
|
dec02d04cb | ||
|
|
67355a1355 | ||
|
|
114a0c8a8e | ||
|
|
cefcd57d59 | ||
|
|
1e809e056e | ||
|
|
8022b975cd | ||
|
|
11e2890099 | ||
|
|
ffcf25817b | ||
|
|
f8133116cf | ||
|
|
4057af6137 | ||
|
|
1d3a7ecdd6 | ||
|
|
21de46252b | ||
|
|
2f71ff24af | ||
|
|
22e78b1b72 | ||
|
|
0955fd1568 | ||
|
|
c9aa91e7a8 | ||
|
|
4899051615 | ||
|
|
87d42f2e5b | ||
|
|
7e9c3ebd54 | ||
|
|
00ceb35fab | ||
|
|
88a98d1001 | ||
|
|
57fcdcb6f9 | ||
|
|
563143c9be | ||
|
|
0833e152ff | ||
|
|
0443121b59 | ||
|
|
806d78ba4e | ||
|
|
555f02de10 | ||
|
|
7b9bec13dc | ||
|
|
4fe5a716f1 | ||
|
|
ea3b4153b6 | ||
|
|
1c1ff49f81 | ||
|
|
db8c97de8c | ||
|
|
daf40f39ad | ||
|
|
95b969c899 | ||
|
|
e2f75c339d |
@@ -7,35 +7,87 @@ root = Tk()
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失!请重新安装'
|
||||
ok2 = "删除完成"
|
||||
uninstall = 'pip uninstall'
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
def pyqt_remove():
|
||||
|
||||
def pyqt():
|
||||
os.system('pip uninstall pyqt5')
|
||||
os.systen('pip uninstall PyQtWebEngine')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def wxpython_remove():
|
||||
def wxpython():
|
||||
os.system('pip uninstall wxpython')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def pygame_remove():
|
||||
def pygame():
|
||||
os.system('pip uninstall pygame')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def Matplotlib():
|
||||
os.system('pip uninstall Matplotlib')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def Seaborn():
|
||||
os.system('pip uninstall Seaborn')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def kivy():
|
||||
os.system('pip uninstall kivy')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def pysimpleGUI():
|
||||
os.system('pip uninstall pysimpleGUI')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def pyside6():
|
||||
os.system('pip uninstall pyside6')
|
||||
messagebox.showinfo(uninstall ,ok2)
|
||||
def flexx():
|
||||
os.system('pip uninstall flexx')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
# button
|
||||
bt_pq5 = Button(root, text='pyqt5删除', command=pyqt_remove)
|
||||
bt_pygame = Button(root, text='pygame删除', command=pygame_remove)
|
||||
bt_wxpython = Button(root, text='wxpython删除', command=wxpython_remove)
|
||||
bt_qt = Button(root, text='pyqt5删除', command=pyqt)
|
||||
bt_pygame = Button(root, text='pygame删除', command=pygame)
|
||||
bt_wxpython = Button(frame, text='wxpython删除', command=wxpython)
|
||||
bt_kivy = Button(frame, text='kivy删除', command=kivy)
|
||||
bt_pyside = Button(frame, text='pyside6删除', command=pyside6)
|
||||
bt_flexx = Button(frame, text='flexx删除', command=flexx)
|
||||
bt_matplotlib = Button(frame, text='matplatlib删除', command=Matplotlib)
|
||||
bt_seaborn = Button(frame, text='seaborn删除', command=Seaborn)
|
||||
bt_pysimpleGUI = Button(frame, text='pysimpleGUI删除', command=pysimpleGUI)
|
||||
bt_fh = Button(frame, text='返回', command=fh)
|
||||
|
||||
# pack and Label
|
||||
Label(root, text='GUI删除').pack()
|
||||
bt_pq5.pack()
|
||||
bt_qt.pack()
|
||||
bt_pyside.pack()
|
||||
bt_kivy.pack()
|
||||
bt_pygame.pack()
|
||||
bt_matplotlib.pack()
|
||||
bt_seaborn.pack()
|
||||
bt_flexx.pack()
|
||||
bt_pysimpleGUI.pack()
|
||||
bt_wxpython.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('GUI')
|
||||
root.geometry('200x200+400+500')
|
||||
root.geometry('200x300+100+100')
|
||||
root.mainloop()
|
||||
@@ -8,6 +8,24 @@ ml = os.getcwd()
|
||||
ok = "install OK!"
|
||||
install = "Install"
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
|
||||
def pyqt5():
|
||||
os.system("pip install pyqt5")
|
||||
os.systen('pip install PyQtWebEngine')
|
||||
@@ -18,21 +36,55 @@ def wxpython():
|
||||
def pygame():
|
||||
os.system("pip install pygame")
|
||||
messagebox.showinfo(install, ok)
|
||||
def Matplotlib():
|
||||
os.system('pip install Matplotlib')
|
||||
messagebox.showinfo(install, ok)
|
||||
def Seaborn():
|
||||
os.system('pip install Seaborn')
|
||||
messagebox.showinfo(install, ok)
|
||||
def fh():
|
||||
root.destroy()
|
||||
def kivy():
|
||||
os.system('pip install kivy')
|
||||
messagebox.showinfo(install, ok)
|
||||
def pysimpleGUI():
|
||||
os.system('pip install pysimpleGUI')
|
||||
messagebox.showinfo(install, ok)
|
||||
def pyside6():
|
||||
os.system('pip install pyside6')
|
||||
messagebox.showinfo(install ,ok)
|
||||
def flexx():
|
||||
os.system('pip install flexx')
|
||||
messagebox.showinfo(install, ok)
|
||||
|
||||
|
||||
# Button
|
||||
bt_qt = Button(root, text='pyqt5安装', command=pyqt5)
|
||||
bt_pygame = Button(root, text='pygame安装', command=pygame)
|
||||
bt_wx = Button(root, text='wxpython安装', command=wxpython)
|
||||
bt_qt = Button(frame, text='pyqt5安装', command=pyqt5)
|
||||
bt_pygame = Button(frame, text='pygame安装', command=pygame)
|
||||
bt_matplotlib = Button(frame, text='matplotlib安装', command=Matplotlib)
|
||||
bt_seaborn = Button(frame, text='Seaborn安装', command=Seaborn)
|
||||
bt_kivy = Button(frame, text='kivy安装', command=kivy)
|
||||
bt_pyside = Button(frame, text='pyside6安装', command=pyside6)
|
||||
bt_flexx = Button(frame, text='flexx安装', command=flexx)
|
||||
bt_pysimpleGUI = Button(frame, text='pysimpleGUI安装', command=pysimpleGUI)
|
||||
bt_wx = Button(frame, text='wxpython安装', command=wxpython)
|
||||
bt_fh = Button(frame, text='返回', command=fh)
|
||||
|
||||
# pack and Label
|
||||
Label(root, text="GUI install").pack()
|
||||
Label(root, text="GUI").pack()
|
||||
bt_qt.pack()
|
||||
bt_pyside.pack()
|
||||
bt_kivy.pack()
|
||||
bt_pygame.pack()
|
||||
bt_matplotlib.pack()
|
||||
bt_seaborn.pack()
|
||||
bt_flexx.pack()
|
||||
bt_pysimpleGUI.pack()
|
||||
bt_wx.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title("GUI")
|
||||
root.geometry('200x200+400+400')
|
||||
root.geometry('200x230+100+110')
|
||||
root.mainloop()
|
||||
10
README.md
10
README.md
@@ -1,10 +1,12 @@
|
||||
# pip-helper
|
||||
可以帮助不会使用pip安装库的人准备
|
||||
|
||||
# 重要通知!!!
|
||||
因为作者找不到其他的GUI库或者其他库,所以作者就懒得更新了
|
||||
# 使用方式
|
||||
首先在**https://github.com/dengrb1/chatgpt**里面下载最新的版本
|
||||
|
||||
等以后在更新把......
|
||||
然后再打开刚刚下载好的文件,然后想平时安装程序一样使用本程序吧!!!
|
||||
|
||||
# 作者
|
||||
邮箱:drb12311@163.com
|
||||
邮箱:drb12311@163.com
|
||||
|
||||
# **_之后的就没有了......_**
|
||||
10
client.pyw
10
client.pyw
@@ -23,9 +23,6 @@ def install():
|
||||
def delete():
|
||||
jc("delete")
|
||||
|
||||
def gk():
|
||||
jc("gk")
|
||||
|
||||
def update():
|
||||
jc("update")
|
||||
|
||||
@@ -33,17 +30,20 @@ def exit_exe():
|
||||
root.destroy()
|
||||
pass
|
||||
|
||||
def eyeryone():
|
||||
messagebox.showerror('pip helper', '暂时无法使用,因为程序测试途中出现未知问题......')
|
||||
|
||||
|
||||
# Button and Label
|
||||
Label(root, text='pip_helper').pack()
|
||||
Button(root, text='安装模式', command=install).pack()
|
||||
Button(root, text='删除模式', command=delete).pack()
|
||||
Button(root, text='全部安装或删除', command=eyeryone).pack()
|
||||
Button(root, text='更新日志', command=update).pack()
|
||||
Button(root, text='关于', command=gk).pack()
|
||||
Button(root, text='退出', command=exit_exe).pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('启动器')
|
||||
root.geometry('200x200+400+400')
|
||||
root.geometry('200x220+400+400')
|
||||
root.mainloop()
|
||||
20
command.py
Normal file
20
command.py
Normal file
@@ -0,0 +1,20 @@
|
||||
import os
|
||||
from time import sleep
|
||||
|
||||
|
||||
def run():
|
||||
for i in range(4):
|
||||
os.system('start powershell')
|
||||
pass
|
||||
pass
|
||||
|
||||
|
||||
# mainloop
|
||||
print('正在启动')
|
||||
sleep(0.666)
|
||||
print('Starting up')
|
||||
sleep(0.22222)
|
||||
run()
|
||||
|
||||
# exit
|
||||
exit()
|
||||
84
computer_delete.pyw
Normal file
84
computer_delete.pyw
Normal file
@@ -0,0 +1,84 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装'
|
||||
uninstall = 'pip uninstall'
|
||||
ok = '删除完成'
|
||||
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
|
||||
# def
|
||||
def TensorFlow():
|
||||
os.system('pip uninstall TensorFlow')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def pytorch():
|
||||
os.system('pip uninstall pytorch')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def openai():
|
||||
os.system('pip uninstall openai')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def keras():
|
||||
os.system('pip uninstall keras')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def scikit_learn():
|
||||
os.system('pip uninstall scikit-learn')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def lightGBM():
|
||||
os.system('pip uninstall lightGBM')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def CatBoost():
|
||||
os.system('pip uninstall CatBoost')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def XGBoost():
|
||||
os.system('pip uninstall XGBoost')
|
||||
messagebox.showinfo(uninstall, ok)
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
# Button
|
||||
bt_TensorFlow = Button(frame, text='TensorFlow删除', command=TensorFlow)
|
||||
bt_pytorch = Button(frame, text='pytorch删除', command=pytorch)
|
||||
bt_keras = Button(frame, text='keras安装', command=keras)
|
||||
bt_lightGBM = Button(frame, text='lightGBM安装', command=lightGBM)
|
||||
bt_scikit_learn = Button(frame, text='scikit-learn安装', command=scikit_learn)
|
||||
bt_XGBoost = Button(frame, text='XGBoost删除', command=XGBoost)
|
||||
bt_openai = Button(frame, text='openai删除', command=openai)
|
||||
bt_fh = Button(frame, text='返回', command=fh)
|
||||
|
||||
# pack
|
||||
Label(root, text='机器学习类库删除').pack()
|
||||
bt_TensorFlow.pack()
|
||||
bt_pytorch.pack()
|
||||
bt_keras.pack()
|
||||
bt_lightGBM.pack()
|
||||
bt_XGBoost.pack()
|
||||
bt_scikit_learn.pack()
|
||||
bt_openai.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('delete')
|
||||
root.geometry('150x150+400+650')
|
||||
root.mainloop()
|
||||
77
computer_install.pyw
Normal file
77
computer_install.pyw
Normal file
@@ -0,0 +1,77 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装'
|
||||
ok = '安装完成'
|
||||
install = 'pip install'
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
# def
|
||||
def tensorFlow():
|
||||
os.system('pip install TensorFlow')
|
||||
messagebox.showinfo(install, ok)
|
||||
def pytorch():
|
||||
os.system('pip install pytorch')
|
||||
messagebox.showinfo(install, ok)
|
||||
def openai():
|
||||
os.system('pip install openai')
|
||||
messagebox.showinfo(install, ok)
|
||||
def keras():
|
||||
os.system('pip install keras')
|
||||
messagebox.showinfo(install, ok)
|
||||
def scikit_learn():
|
||||
os.system('pip install scikit-learn')
|
||||
messagebox.showinfo(install, ok)
|
||||
def lightGBM():
|
||||
os.system('pip install lightGBM')
|
||||
messagebox.showinfo(install, ok)
|
||||
def CatBoost():
|
||||
os.system('pip install CatBoost')
|
||||
messagebox.shir
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
# Button
|
||||
bt_tensorFlow = Button(frame, text='TensorFlow安装', command=tensorFlow)
|
||||
bt_pytorch = Button(frame, text='pytorch安装', command=pytorch)
|
||||
bt_keras = Button(frame, text='keras安装', command=keras)
|
||||
bt_lightGBM = Button(frame, text='lightGBM安装', command=lightGBM)
|
||||
bt_scikit_learn = Button(frame, text='scikit-learn安装', command=scikit_learn)
|
||||
bt_openai = Button(frame, text='openai安装', command=openai)
|
||||
bt_fh = Button(frame, text='返回', command=fh)
|
||||
|
||||
# pack
|
||||
Label(root, text='机器学习类库安装').pack()
|
||||
bt_tensorFlow.pack()
|
||||
bt_pytorch.pack()
|
||||
bt_keras.pack()
|
||||
bt_lightGBM.pack()
|
||||
bt_scikit_learn.pack()
|
||||
bt_openai.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('install')
|
||||
root.geometry('150x150+400+700')
|
||||
root.mainloop()
|
||||
85
delete.pyw
Normal file
85
delete.pyw
Normal file
@@ -0,0 +1,85 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
# 创建主窗口
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装'
|
||||
uninstall = 'pip uninstall'
|
||||
ok2 = '删除完成'
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
|
||||
# def frame
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('install', file_error)
|
||||
pass
|
||||
pass
|
||||
def GUI_delete():
|
||||
open_exe('GUI_delete')
|
||||
pass
|
||||
def web_delete():
|
||||
open_exe('web_delete')
|
||||
pass
|
||||
def computer_delete():
|
||||
open_exe('computer_delete')
|
||||
def pyinstaller_remove():
|
||||
os.system('pip uninstall pyinstaller')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def tqdm_remove():
|
||||
os.system('pip uninstall tqdm')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def nuitka_remove():
|
||||
os.system('pip uninstall nuitka')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def pywin32_remove():
|
||||
os.system('pip uninstall pywin32')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def numpy_remove():
|
||||
os.system('pip uninstall numpy')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
|
||||
# Button
|
||||
remove_GUI = Button(frame, text='GUI类删除', command=GUI_delete).pack()
|
||||
remove_web = Button(frame, text='web类删除', command=web_delete).pack()
|
||||
remove_computer = Button(frame, text='机器学习类删除', command=computer_delete).pack()
|
||||
remove_pyinstaller = Button(frame, text='pyinstaller删除', command=pyinstaller_remove).pack()
|
||||
remove_tqdm = Button(frame, text='tqdm删除', command=tqdm_remove).pack()
|
||||
remove_nuitka = Button(frame, text='nuitka删除', command=nuitka_remove).pack()
|
||||
remove_pywin32 = Button(frame, text='pywin32删除', command=pywin32_remove).pack()
|
||||
remove_numpy = Button(frame ,text="numpy删除", command=numpy_remove).pack()
|
||||
remove_fh = Button(frame, text='返回', command=fh).pack()
|
||||
|
||||
|
||||
# pack
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title("delete")
|
||||
root.geometry("200x250+100+10")
|
||||
root.mainloop()
|
||||
82
install.pyw
Normal file
82
install.pyw
Normal file
@@ -0,0 +1,82 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
# 定义内容和创建主窗口
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
ok = '安装成功'
|
||||
install = 'pip install'
|
||||
file_error = '文件丢失,请重新安装'
|
||||
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
# def
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('install', file_error)
|
||||
pass
|
||||
pass
|
||||
def gui_install():
|
||||
open_exe('GUI_install')
|
||||
def web_install():
|
||||
open_exe('web_install')
|
||||
def computer_install():
|
||||
open_exe('computer_install')
|
||||
def pyinstaller():
|
||||
os.system('pip install pyinstaller')
|
||||
messagebox.showinfo('pip install', ok)
|
||||
pass
|
||||
def nuitka():
|
||||
os.system('pip install nuitka')
|
||||
messagebox.showinfo('pip install', ok)
|
||||
pass
|
||||
def pywin32():
|
||||
os.system('pip install pywin32')
|
||||
messagebox.showinfo(install, ok)
|
||||
pass
|
||||
def tqdm():
|
||||
os.system('pip install tqdm')
|
||||
messagebox.showinfo(install, ok)
|
||||
pass
|
||||
def numpy():
|
||||
os.system('pip install numpy')
|
||||
messagebox.showinfo(install, ok)
|
||||
pass
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
# Button
|
||||
pip_gui = Button(frame, text='GUI类安装', command=gui_install).pack()
|
||||
pip_web = Button(frame, text='web类安装', command=web_install).pack()
|
||||
pip_computer = Button(frame, text='机器学习类库安装', command=computer_install).pack()
|
||||
pip_pyinstaller = Button(frame, text='pyinstall安装', command=pyinstaller).pack()
|
||||
pip_tqdm = Button(frame, text='tqdm安装', command=tqdm).pack()
|
||||
pip_nuitka = Button(frame, text='nuitka安装', command=nuitka).pack()
|
||||
pip_pywin32 = Button(frame, text='pywin32安装', command=pywin32).pack()
|
||||
pip_numpy = Button(frame, text='numpy安装', command=numpy).pack()
|
||||
pip_fh = Button(frame,text='返回', command=fh).pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('安装')
|
||||
root.geometry('200x270+100+50')
|
||||
root.mainloop()
|
||||
27
python_jc.py
Normal file
27
python_jc.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import sys
|
||||
import os
|
||||
from time import sleep
|
||||
|
||||
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装!!'
|
||||
|
||||
|
||||
# def
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
print(file_error)
|
||||
sleep(1)
|
||||
pass
|
||||
|
||||
|
||||
# try
|
||||
try:
|
||||
import pip
|
||||
open_exe('client')
|
||||
except ImportError:
|
||||
print("请安装Pip或者python")
|
||||
sleep(2)
|
||||
sys.exit()
|
||||
1
setup_readme.txt
Normal file
1
setup_readme.txt
Normal file
@@ -0,0 +1 @@
|
||||
1.2 加入更多可视化库,都在gui安装和删除类里面;修复一些BUG
|
||||
32
update.py
32
update.py
@@ -1,32 +0,0 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import webbrowser
|
||||
|
||||
update = Tk()
|
||||
url_update = 'https://kgithub.com/dengrb1/pip-helper/releases'
|
||||
|
||||
|
||||
la_1 = Label(update, text='更新日志').pack()
|
||||
la_2 = Label(update, text='''0.1.0 版本为beta and demo version''').pack()
|
||||
la_3 = Label(update, text='当前版本:0.1.0 (beta verison)')
|
||||
|
||||
# 定义按钮
|
||||
def update_now():
|
||||
webbrowser.open(url_update)
|
||||
messagebox.showinfo('update', '请选择最新版本并下载运行安装程序,然后就可以更新了!')
|
||||
pass
|
||||
def quit_update():
|
||||
update.destroy()
|
||||
pass
|
||||
# 按钮设置
|
||||
quit_window_bt = Button(update, text='返回', command=quit_update)
|
||||
update_now_bt = Button(update, text='更新到最新版本', command=update_now)
|
||||
|
||||
# Button pack
|
||||
update_now_bt.pack()
|
||||
quit_window_bt.pack()
|
||||
|
||||
# 初始化程序
|
||||
update.title('更新日志')
|
||||
update.geometry('330x250+50+50')
|
||||
update.mainloop()
|
||||
41
update.pyw
Normal file
41
update.pyw
Normal file
@@ -0,0 +1,41 @@
|
||||
"""基本上,这个文件都是已经提前写好了下一个版本的内容的
|
||||
之后几天基本上都会发布最新版本的内容的"""
|
||||
|
||||
from tkinter import *
|
||||
from tkinter.scrolledtext import ScrolledText
|
||||
import webbrowser
|
||||
from tkinter import messagebox
|
||||
|
||||
root = Tk()
|
||||
|
||||
def quit_exe():
|
||||
root.destroy()
|
||||
def update_now():
|
||||
webbrowser.open("https://kgithub.com/dengrb1/pip-helper/releases/")
|
||||
messagebox.showinfo('update', '请选择最新版本并下载运行安装程序,然后就可以更新了!')
|
||||
|
||||
# Label
|
||||
update_now_bt = Button(root ,text='在线更新', command=update_now).pack(side=RIGHT)
|
||||
quit_bt = Button(root, text='返回', command=quit_exe).pack(side=RIGHT)
|
||||
Label(root, text='更新日志').pack()
|
||||
text = '''0.1.0 暂无日志
|
||||
1.0 正式版本。修复BUG;改正更新日志显示问题
|
||||
1.1 加入机器学习库安装;修复BUG;删除“关于”模块
|
||||
1.2 加入更多可视化库,都在gui安装和删除类里面;修复一些BUG
|
||||
1.2.1 加入机器学习库——openai;修复BUG;一键安装所有库正在试验中......
|
||||
1.3 加入更多GUI库,比如:pyside6, kivy等等;修复一些BUG
|
||||
1.4 加入pip安装检测;加入更多web类库;修复一些BUG
|
||||
1.5 加入更多机器学习库;修复一些BUG;修改pip安装检测代
|
||||
|
||||
当前版本:1.5 (Not beta or demo)'''
|
||||
|
||||
text_box = ScrolledText(root)
|
||||
text_box.pack(fill=BOTH, expand=1)
|
||||
text_box.insert(END, text)
|
||||
text_box.configure(state='disabled')
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('更新日志')
|
||||
root.geometry('355x250+400+400')
|
||||
root.mainloop()
|
||||
@@ -2,45 +2,85 @@ from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
|
||||
# 定义内容和创建主窗口
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装'
|
||||
ok2 = '删除完成'
|
||||
ok2 = '安装成功'
|
||||
uninstall = 'pip uninstall'
|
||||
file_error = '文件丢失,请重新安装'
|
||||
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
|
||||
# def
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('delete', file_error)
|
||||
pass
|
||||
def Requests_remove():
|
||||
def Requests():
|
||||
os.system('pip uninstall Requests')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def django_remove():
|
||||
def django():
|
||||
os.system('pip uninstall django')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def fastAPI():
|
||||
os.system('pip uninstall fastapi')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def sanic():
|
||||
os.system('pip uninstall sanic')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def nameko():
|
||||
os.system('pip uninstall nameko')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def pydantic():
|
||||
os.system('pip uninstall pydantic')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
def fh():
|
||||
root.destroy()
|
||||
pass
|
||||
|
||||
|
||||
# Button
|
||||
bt_r = Button(root, text='Requests删除', command=Requests_remove)
|
||||
bt_d = Button(root, text='django删除', command=django_remove)
|
||||
bt_fh = Button(root, text='返回', command=fh)
|
||||
bt_r = Button(frame, text='requests删除', command=Requests)
|
||||
bt_d = Button(frame, text='django删除', command=django)
|
||||
bt_fastapi = Button(frame, text='fastAPI删除', command=fastAPI)
|
||||
bt_sanic = Button(frame, text='sanic删除', command=sanic)
|
||||
bt_nameko = Button(frame, text='namekos删除', command=nameko)
|
||||
bt_pydantic = Button(frame, text='pydantic删除', command=pydantic)
|
||||
bt_fh = Button(frame, text='pydantic删除', command=fh)
|
||||
|
||||
#pack and Label
|
||||
# pack and Label
|
||||
Label(root, text='web类删除').pack()
|
||||
bt_d.pack()
|
||||
bt_r.pack()
|
||||
bt_fastapi.pack()
|
||||
bt_sanic.pack()
|
||||
bt_nameko.pack()
|
||||
bt_pydantic.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('web')
|
||||
root.geometry('150x150+400+800')
|
||||
root.geometry('200x230+100+30')
|
||||
root.mainloop()
|
||||
@@ -2,21 +2,39 @@ from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
|
||||
# 定义内容和创建主窗口
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
ok = '安装完成!'
|
||||
ok = '安装成功'
|
||||
install = 'pip install'
|
||||
file_error = '文件丢失,请重新安装'
|
||||
install_1 = 'pip install'
|
||||
|
||||
|
||||
# 创建滚动区域的Canvas对象
|
||||
canvas = Canvas(root, width=280, height=280, scrollregion=(0, 0, 500, 500))
|
||||
|
||||
# 创建可滚动区域的Frame对象,并将其添加到Canvas中
|
||||
frame = Frame(canvas)
|
||||
frame.bind("<Configure>", lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
|
||||
canvas.create_window((0, 0), window=frame, anchor="nw")
|
||||
|
||||
# 创建Scrollbar对象,并将其绑定到Canvas上
|
||||
scrollbar = Scrollbar(root, orient="vertical", command=canvas.yview)
|
||||
canvas.configure(yscrollcommand=scrollbar.set)
|
||||
scrollbar.pack(side="right", fill="y")
|
||||
|
||||
# 显示Canvas和Scrollbar
|
||||
canvas.pack(side="left", fill="both", expand=True)
|
||||
|
||||
|
||||
# def
|
||||
def Requests():
|
||||
os.system('pip install Requests')
|
||||
messagebox.showinfo('pip install', ok)
|
||||
pass
|
||||
def django():
|
||||
os.system('pip install django')
|
||||
messagebox.showinfo(install_1, ok)
|
||||
messagebox.showinfo(install, ok)
|
||||
pass
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
@@ -25,20 +43,46 @@ def open_exe(exe_name):
|
||||
messagebox.showerror('install', file_error)
|
||||
pass
|
||||
pass
|
||||
def fastAPI():
|
||||
os.system('pip install fastapi')
|
||||
messagebox.showinfo(install, ok)
|
||||
def sanic():
|
||||
os.system('pip install sanic')
|
||||
messagebox.showinfo(install, ok)
|
||||
def nameko():
|
||||
os.system('pip install nameko')
|
||||
messagebox.showinfo(install, ok)
|
||||
def pydantic():
|
||||
os.system('pip install pydantic')
|
||||
messagebox.showinfo(install, ok)
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
|
||||
# button
|
||||
bt_d = Button(root, text='django安装', command=django)
|
||||
bt_r = Button(root, text='Requests安装', command=Requests)
|
||||
# Button
|
||||
bt_d = Button(frame, text='django安装', command=django)
|
||||
bt_r = Button(frame, text='Requests安装', command=Requests)
|
||||
bt_fastapi = Button(frame, text='fastAPI删除', command=fastAPI)
|
||||
bt_sanic = Button(frame, text='sanic删除', command=sanic)
|
||||
bt_nameko = Button(frame, text='namekos删除', command=nameko)
|
||||
bt_pydantic = Button(frame, text='pydantic删除', command=pydantic)
|
||||
bt_fh = Button(frame, text='返回', command=fh)
|
||||
|
||||
|
||||
# pack and Label
|
||||
# pack
|
||||
Label(root, text='web类安装').pack()
|
||||
bt_d.pack()
|
||||
bt_r.pack()
|
||||
bt_d.pack()
|
||||
bt_r.pack()
|
||||
bt_fastapi.pack()
|
||||
bt_sanic.pack()
|
||||
bt_nameko.pack()
|
||||
bt_pydantic.pack()
|
||||
bt_fh.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('web')
|
||||
root.geometry('150x150')
|
||||
root.geometry('200x250+600+400')
|
||||
root.mainloop()
|
||||
@@ -8,16 +8,27 @@ root_1 = 'pip uninstall'
|
||||
ok = '安装完成'
|
||||
ok2 = '删除完成'
|
||||
uninstall = 'pip uninstall'
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装'
|
||||
|
||||
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('install', file_error)
|
||||
pass
|
||||
pass
|
||||
def GUI_delete():
|
||||
open_exe('GUI_delete')
|
||||
pass
|
||||
def web_delete():
|
||||
open_exe('web_delete')
|
||||
pass
|
||||
def pyinstaller_remove():
|
||||
os.system('pip uninstall pyinstaller')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def Requests_remove():
|
||||
os.system('pip uninstall Requests')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def tqdm_remove():
|
||||
os.system('pip uninstall tqdm')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
@@ -30,25 +41,21 @@ def pywin32_remove():
|
||||
os.system('pip uninstall pywin32')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def django_remove():
|
||||
os.system('pip uninstall django')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def numpy_remove():
|
||||
os.system('pip uninstall numpy')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def fh():
|
||||
root.destroy()
|
||||
# 按钮
|
||||
remove_pyqt = Button(root, text='pyqt删除', command=pyqt_remove).pack()
|
||||
remove_pygame = Button(root, text='pygame删除',command=pygame_remove).pack()
|
||||
remove_wxpython = Button(root, text='wxpython删除', command=wxpython_remove).pack()
|
||||
remove_Requests = Button(root, text='Requests删除', command=Requests_remove).pack()
|
||||
remove_GUI = Button(root, text='GUI类删除', command=GUI_delete).pack()
|
||||
remove_web = Button(root, text='web类删除', command=web_delete).pack()
|
||||
remove_pyinstaller = Button(root, text='pyinstaller删除', command=pyinstaller_remove).pack()
|
||||
remove_tqdm = Button(root, text='tqdm删除', command=tqdm_remove).pack()
|
||||
remove_nuitka = Button(root, text='nuitka删除', command=nuitka_remove).pack()
|
||||
remove_pywin32 = Button(root, text='pywin32删除', command=pywin32_remove).pack()
|
||||
remove_django = Button(root, text='django删除', command=django_remove)
|
||||
remove_numpy = Button(root ,text="numpy删除", command=numpy_remove)
|
||||
remove_numpy = Button(root ,text="numpy删除", command=numpy_remove).pack()
|
||||
remove_fh = Button(root, text='返回', command=fh).pack()
|
||||
|
||||
|
||||
# 初始化程序
|
||||
@@ -11,13 +11,17 @@ file_error = '文件丢失,请重新安装'
|
||||
|
||||
|
||||
|
||||
def GUI_install():
|
||||
if os.path.exists(os.path.join(ml, "GUI_install.exe")):
|
||||
os.system("start GUI_install.exe")
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('install', file_error)
|
||||
pass
|
||||
pass
|
||||
def gui_install():
|
||||
open_exe('GUI_install')
|
||||
def web_install():
|
||||
open_exe('web_install')
|
||||
def pyinstaller():
|
||||
os.system('pip install pyinstaller')
|
||||
messagebox.showinfo('pip install', ok)
|
||||
@@ -38,12 +42,17 @@ def numpy():
|
||||
os.system('pip install numpy')
|
||||
messagebox.showinfo(install_1, ok)
|
||||
pass
|
||||
def fh():
|
||||
root.destroy()
|
||||
# 按钮
|
||||
pip_gui = Button(root, text='GUI类安装', command=gui_install).pack()
|
||||
pip_web = Button(root, text='web类安装', command=web_install).pack()
|
||||
pip_pyinstaller = Button(root, text='pyinstall安装', command=pyinstaller).pack()
|
||||
pip_tqdm = Button(root, text='tqdm安装', command=tqdm).pack()
|
||||
pip_nuitka = Button(root, text='nuitka安装', command=nuitka).pack()
|
||||
pip_pywin32 = Button(root, text='pywin32安装', command=pywin32).pack()
|
||||
pip_numpy = Button(root, text='numpy安装', command=numpy)
|
||||
pip_numpy = Button(root, text='numpy安装', command=numpy).pack()
|
||||
pip_fh = Button(root,text='返回', command=fh).pack()
|
||||
|
||||
|
||||
# 初始化程序
|
||||
46
没有使用/web_delete.pyw
Normal file
46
没有使用/web_delete.pyw
Normal file
@@ -0,0 +1,46 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
file_error = '文件丢失,请重新安装'
|
||||
ok2 = '删除完成'
|
||||
uninstall = 'pip uninstall'
|
||||
|
||||
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('delete', file_error)
|
||||
pass
|
||||
def Requests_remove():
|
||||
os.system('pip uninstall Requests')
|
||||
messagebox.showinfo('pip uninstall', ok2)
|
||||
pass
|
||||
def django_remove():
|
||||
os.system('pip uninstall django')
|
||||
messagebox.showinfo(uninstall, ok2)
|
||||
pass
|
||||
def fh():
|
||||
root.destroy()
|
||||
pass
|
||||
|
||||
|
||||
# Button
|
||||
bt_r = Button(root, text='Requests删除', command=Requests_remove)
|
||||
bt_d = Button(root, text='django删除', command=django_remove)
|
||||
bt_fh = Button(root, text='返回', command=fh)
|
||||
|
||||
#pack and Label
|
||||
Label(root, text='web类删除').pack()
|
||||
bt_d.pack()
|
||||
bt_r.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
# mainloop
|
||||
root.title('web')
|
||||
root.geometry('150x150+400+800')
|
||||
root.mainloop()
|
||||
48
没有使用/web_install.pyw
Normal file
48
没有使用/web_install.pyw
Normal file
@@ -0,0 +1,48 @@
|
||||
from tkinter import *
|
||||
from tkinter import messagebox
|
||||
import os
|
||||
|
||||
|
||||
root = Tk()
|
||||
ml = os.getcwd()
|
||||
ok = '安装完成!'
|
||||
file_error = '文件丢失,请重新安装'
|
||||
install_1 = 'pip install'
|
||||
|
||||
|
||||
def Requests():
|
||||
os.system('pip install Requests')
|
||||
messagebox.showinfo('pip install', ok)
|
||||
pass
|
||||
def django():
|
||||
os.system('pip install django')
|
||||
messagebox.showinfo(install_1, ok)
|
||||
pass
|
||||
def open_exe(exe_name):
|
||||
if os.path.exists(os.path.join(ml, f"{exe_name}.exe")):
|
||||
os.system(f"start {exe_name}.exe")
|
||||
else:
|
||||
messagebox.showerror('install', file_error)
|
||||
pass
|
||||
pass
|
||||
def fh():
|
||||
root.destroy()
|
||||
|
||||
|
||||
# button
|
||||
bt_d = Button(root, text='django安装', command=django)
|
||||
bt_r = Button(root, text='Requests安装', command=Requests)
|
||||
bt_fh = Button(root, text='返回', command=fh)
|
||||
|
||||
|
||||
# pack and Label
|
||||
Label(root, text='web类安装').pack()
|
||||
bt_d.pack()
|
||||
bt_r.pack()
|
||||
bt_fh.pack()
|
||||
|
||||
|
||||
# mainloop
|
||||
root.title('web')
|
||||
root.geometry('150x150')
|
||||
root.mainloop()
|
||||
Reference in New Issue
Block a user