pip安装工具-python (ui:wxpython)

       python的灵活性就在于它有很多第三方库(框架),而要使用pip安装的话,默认使用国外源,下载超慢,,所以我制作了一个基于wxpython框架的pip安装工具,集合了国内知名的六个镜像源,下载超快,分享给大家。为了方便,使用吾爱的wxpython可视化编辑器来设置ui,有不足的地方,希望多多指教。

main.py:

# -*- coding:utf-8 -*-
import os
import sys

import wx

class Frame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, title='pip安装工具', size=(479, 324),name='frame',style=541072384)
        self.启动窗口 = wx.Panel(self)
        self.Centre()
        self.window_name_lable = wx.StaticText(self.启动窗口,size=(271, 36),pos=(82, 11),label='pip安装工具',name='window_name_lable',style=2321)
        window_name_lable_字体 = wx.Font(15,74,90,400,False,'Microsoft YaHei UI',28)
        self.window_name_lable.SetFont(window_name_lable_字体)
        self.组合框2 = wx.ComboBox(self.启动窗口,value='',pos=(105, 55),name='comboBox',choices=['豆瓣源', '清华源', '阿里云', '中科大', '山东理工大学', '华中理工大学', ''],style=16)
        self.组合框2.SetSize((113, 21))
        self.标签2 = wx.StaticText(self.启动窗口,size=(89, 25),pos=(19, 55),label='安装镜像源:',name='staticText',style=2321)
        self.分组单选框2 = wx.RadioBox(self.启动窗口,size=(182, 60),pos=(268, 55),label='选择地区',choices=['国内源', '国外源(普通)'],majorDimension=0,name='radioBox',style=4)
        self.分组单选框2.Bind(wx.EVT_RADIOBOX,self.分组单选框2_选项被单击)
        self.标签3 = wx.StaticText(self.启动窗口,size=(420, 18),pos=(25, 124),label='想要安装的python库,存在多个,用空格隔开,镜像源选择指的是国内的',name='staticText',style=2321)
        self.ku = wx.TextCtrl(self.启动窗口,size=(441, 83),pos=(14, 147),value='',name='ku',style=1073741856)
        self.pip_install_start = wx.Button(self.启动窗口,size=(75, 33),pos=(36, 236),label='开始',name='button')
        self.pip_install_start.SetForegroundColour((255, 0, 0, 255))
        self.pip_install_start.Bind(wx.EVT_BUTTON,self.pip_install_start_按钮被单击)
        self.pip_close = wx.Button(self.启动窗口,size=(75, 33),pos=(297, 236),label='关闭',name='pip_close')
        self.pip_close.Bind(wx.EVT_BUTTON,self.pip_close_按钮被单击)


    def 分组单选框2_选项被单击(self,event):
        print('分组单选框2,选项被单击')


    def pip_install_start_按钮被单击(self,event):
        #print('pip_install_start,按钮被单击')
        pip_yuan = self.组合框2.GetSelection()
        pip_yuan += 1
        pip_diqu = self.分组单选框2.GetSelection()
        pip_install_name = self.ku.GetValue()
        print(pip_install_name)
        pip_yuan_int = int(pip_yuan)
        pip_diqu_int = int(pip_diqu)
        if pip_diqu_int == 0:
            print('国内源')
            if pip_yuan_int == -1:
                wx.MessageBox("请选择一个镜像源!", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
            if pip_yuan_int == 1:#豆瓣源
                wx.MessageBox("准备安装,豆瓣源,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
                os.system('python -m pip install '+pip_install_name+' -i https://pypi.douban.com/simple/')
                wx.MessageBox("安装完成", "pip安装工具", wx.OK | wx.ICON_INFORMATION)

            if pip_yuan_int == 2:#清华源
                wx.MessageBox("准备安装,清华源,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
                os.system('python -m pip install '+pip_install_name+' -i https://pypi.tuna.tsinghua.edu.cn/simple')
                wx.MessageBox("安装完成", "pip安装工具", wx.OK | wx.ICON_INFORMATION)

            if pip_yuan_int == 3:#阿里云
                wx.MessageBox("准备安装,阿里云,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
                os.system('python -m pip install '+pip_install_name+' -i http://mirrors.aliyun.com/pypi/simple/')
                wx.MessageBox("安装完成", "pip安装工具", wx.OK | wx.ICON_INFORMATION)

            if pip_yuan_int == 4:#中科大
                wx.MessageBox("准备安装,中科大,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
                os.system('python -m pip install '+pip_install_name+' -i https://pypi.mirrors.ustc.edu.cn/simple/')
                wx.MessageBox("安装完成", "pip安装工具", wx.OK | wx.ICON_INFORMATION)

            if pip_yuan_int == 5:#山东理工大学
                wx.MessageBox("准备安装,山东理工大学,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
                os.system('python -m pip install '+pip_install_name+' -i http://pypi.sdutlinux.org/')
                wx.MessageBox("安装完成", "pip安装工具", wx.OK | wx.ICON_INFORMATION)

            if pip_yuan_int == 6:#华中理工大学
                wx.MessageBox("准备安装,华中理工大学,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
                os.system('python -m pip install '+pip_install_name+' -i http://pypi.hustunique.com/')
                wx.MessageBox("安装完成", "pip安装工具", wx.OK | wx.ICON_INFORMATION)

        if pip_diqu_int == 2:
            wx.MessageBox("准备安装,国外源,按“ok”开始,请查看控制台。如果报错,请查看是否输入有误或pip工具出错。国内使用尽量选国内,网速更快。", "pip安装工具", wx.OK | wx.ICON_INFORMATION)
            os.system('python -m pip install '+pip_install_name)
            wx.MessageBox("安装成功", "pip安装工具", wx.OK | wx.ICON_INFORMATION)



    def pip_close_按钮被单击(self,event):
        sys.exit()

class myApp(wx.App):
    def  OnInit(self):
        self.frame = Frame()
        self.frame.Show(True)
        return True

if __name__ == '__main__':
    app = myApp()
    app.MainLoop()

效果如下:

GitHub地址:https://github.com/3469134108/main

附拓展:wxpython鼠标样式

详细文档:https://wxpython.org/Phoenix/docs/html/wx.StockCursor.enumeration.html
            
        样式:
        wx.CURSOR_NONE
        wx.CURSOR_MAX
        wx.CURSOR_ARROW                     标准箭头光标。
        wx.CURSOR_RIGHT_ARROW            指向右侧的标准箭头光标。
        wx.CURSOR_BULLSEYE                靶心光标。
        wx.CURSOR_CHAR                    矩形字符光标。
        wx.CURSOR_CROSS                十字光标。
        wx.CURSOR_HAND                    手形光标。
        wx.CURSOR_IBEAM                工字梁光标(垂直线)。
        wx.CURSOR_LEFT_BUTTON                表示鼠标左键按下。
        wx.CURSOR_MAGNIFIER                放大镜图标。
        wx.CURSOR_MIDDLE_BUTTON            表示按下中间按钮的鼠标。
        wx.CURSOR_NO_ENTRY                不可输入的符号光标。
        wx.CURSOR_PAINT_BRUSH                画笔光标。
        wx.CURSOR_PENCIL                铅笔光标。
        wx.CURSOR_POINT_LEFT                指向左的光标。
        wx.CURSOR_POINT_RIGHT                指向右的光标。
        wx.CURSOR_QUESTION_ARROW            箭头和问号。
        wx.CURSOR_RIGHT_BUTTON            表示按下了右键的鼠标。
        wx.CURSOR_SIZENESW                调整大小的光标指向NE-SW。
        wx.CURSOR_SIZENS                调整大小的光标指向N-S。
        wx.CURSOR_SIZENWSE                调整大小的光标指向NW-SE。
        wx.CURSOR_SIZEWE                调整大小的光标指向W-E。
        wx.CURSOR_SIZING                一般大小的游标。
        wx.CURSOR_SPRAYCAN                Spraycan游标。
        wx.CURSOR_WAIT                    等待光标。
        wx.CURSOR_WATCH                监视光标。
        wx.CURSOR_BLANK                透明光标。
        wx.CURSOR_DEFAULT                标准X11光标(仅在wxGTK中)。
        wx.CURSOR_COPY_ARROW                MacOS Theme Plus箭头(仅在Mac中)。
        wx.CURSOR_ARROWWAIT                带有标准箭头的等待光标。
    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值