自制Python第三方库安装器

自制Python第三方库安装器,第1张

概述刚刚初学Python时,安装第三方库非常麻烦,速度又慢,即使选择国内镜像,还得经常敲pip命令来安装,总之很麻烦,pycharm上安装第三库也特别慢,于是用tkinter库写了第三库安装器,之后安装第三方库就特别方便。代码如下importosimporttkinterastkimporttkinter.messageboxfromtki

刚刚初学Python时,安装第三方库非常麻烦,速度又慢,即使选择国内镜像,还得经常敲pip命令来安装,总之很麻烦,pycharm上安装第三库也特别慢,于是用tkinter库写了第三库安装器,之后安装第三方库就特别方便。

代码如下

import osimport tkinter as tkimport tkinter.messageBoxfrom tkinter import ttkclass library_Installer_for_Python(tk.Tk):    def __init__(self):        super().__init__()        self.adjust_window(window_wIDth=500,window_height=300)        self.Title('library Installer for Python')        self.Creat_Widgets()    def adjust_window(self,window_wIDth,window_height):        screen_wIDth = self.winfo_screenwIDth()        screen_height = self.winfo_screenheight()        x = int((screen_wIDth - window_wIDth) / 2)        y = int((screen_height - window_height)/2)        self.geometry("{}x{}+{}+{}".format(window_wIDth,window_height,x,y))    def Creat_Widgets(self):        # 第一个标签,用户提示信息        self.lael1 = tk.Label(self, text="欢 迎 !", wIDth=40, height=2, Font=('微软雅黑', 16)).pack(sIDe='top')        # 输入库名标签        self.input_library = tk.Label(self, text='输入库名:', wIDth=12, height=2, Font=('微软雅黑', 12), anchor='w')        self.input_library.place(x=60, y=50)        # 用户输入框        self.entry_library = tk.Entry(self, show=None, Font=('微软雅黑', 10), wIDth=30)        self.entry_library.place(x=180, y=65)        # 选择输入源标签        self.source = tk.Label(self, text='选择数据源:', wIDth=12, height=2, Font=('微软雅黑', 12), anchor='w')        self.source.place(x=60, y=100)        # 数据源下拉菜单        self.choose_source = ttk.ComboBox(self, Font=('微软雅黑', 10), wIDth=28,                                          value = ('默认源(不建议,下载很慢)',                                                   'https://pypi.tuna.tsinghua.edu.cn/simple',                                                   'https://mirrors.aliyun.com/pypi/simple/',                                                   'https://pypi.mirrors.ustc.edu.cn/simple/',                                                   'https://pypi.hustunique.com/',                                                   'https://pypi.sdutlinux.org/',                                                   'https://pypi.douban.com/simple/'),state = 'Readonly')        self.choose_source.current(1)        self.choose_source.place(x=180, y=115)        # 按钮用来安装,触发结果显示命令        self.intall = tk.button(self, text='安装', wIDth=10, height=1, Font=('微软雅黑', 12), command=self.get_result)        self.intall.place(x=180, y=165)        # 注意事项        self.notices = tk.button(self, text='注意事项', wIDth=10, height=1, Font=('微软雅黑', 12), command=self.notices_command)        self.notices.place(x=320, y=165)        # 显示作者信息        self.version = tk.Label(self, wIDth=10, height=2, Font=('微软雅黑', 12), text='version 2.0')        self.version.place(x=350, y=250)        # 获取用户输入的库名    def get_library_List(self):        s = self.entry_library.get()        s = s.replace(' ', '')        s = s.replace(',', ',')        if s == '':            return s        else:            ls = s.split(',')            return ls    # 判断该库是否安装    def isinstalled(self, item):        all = os.popen('pip List').read()        if item in all:            return True        else:            return False    # 使用os库来安装第三方库    def in_stall(self, item):        if self.choose_source.get() == '默认源(不建议,下载很慢)':            os.system("pip install " + item)        else:            os.system("pip install -i " + self.choose_source.get() + ' ' + item)    def install_all(self, ls):        result = []        for item in ls:            if self.isinstalled(item) == True:                result.append('您已经安装过 ' + item)            else:                self.in_stall(item)                if self.isinstalled(item) == True:                    result.append(item + ' 安装成功')                else:                    result.append(item + ' 安装失败')        return result    def get_result(self):        ls = self.get_library_List()        if ls == '':            tkinter.messageBox.showerror(Title='Error', message='Error! 你没有输入任何库名!')        else:            # 对于用户输入的每一个逐一判断和安装            result = self.install_all(ls)            # 最后会出输出            result = '\n'.join(result)            tkinter.messageBox.showinfo(Title='result', message=result)    def notices_command(self):        notices_Str = ['这是一款简易的Python第三方库安装器,需要注意',                       '1.使用该安装器前需确保安装了pip库',                       '2.输入多个库名请用","隔开',                       '3.安装失败请查看后面黑框的提示信息',                       '4.数据源是国内的镜像,下载会更快']        tkinter.messageBox.showinfo(Title='Notice', message='\n'.join(notices_Str))if __name__ == '__main__':    windows = library_Installer_for_Python()    windows.mainloop()

安装器界面,还是很简陋的,如果未响应,需要在后面的黑色命令提示符敲回车就能运行,前提需要安装pip库

总结

以上是内存溢出为你收集整理的自制Python第三方库安装器全部内容,希望文章能够帮你解决自制Python第三方库安装器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存