zoukankan      html  css  js  c++  java
  • python脚本生成exe程序

    去年十一月换了新公司后,一直没闲着,马不停蹄地接不同的需求,一个版本一个版本的迭代,也没时间研究python了。十一休假归来,某日,老婆问金融量化需要学python吗?并分享了一个公众号文章,内容是吹嘘python有多神通广大,最后就是网课多少钱的推销路线。给老婆夸口,有时间了教她敲代码,解决她日常分析报告中那些数据的搜集工作。

    昨天花了点时间,看了去年的python学习笔记,算是简单基础的复习。接着去年的内容往后面更新。之前有一个同事玩go语言,有一次拜托他帮写了一个从excel读数据curl发post请求的工具,exe文件,着实好用,同为脚本语言,python实现起来应该也简单,不久后,我会用python来实现这段逻辑。言归正传,从基础做起。首先python如何生成exe?

    python --version
    Python 3.7.1

    pip show pywin32
    version 225 如果没有则执行 pip install pywin32

    pip show pyinstaller
    version3.5 如果没有则执行 pip install pyinstaller

    本次开发用的是eclipse,主要是eclipse用习惯了,感觉用着也上手,毕竟插件功能海量。

    项目结构和脚本内容:

    执行如下:等待输入

    ok 简单点的预期:就是上述显示能生成一个exe文件,我点击就会独立运行。

    pyinstaller --onefile --nowindowed --icon='E:workspace-eclipseday1mydatfavicon.ico' a.py

    可以看到生成a.exe文件

      

    把a.exe拷贝到桌面,双击运行:

    至此,导出成exe独立程序已经实现。嗯,能不能加个按钮或者输入框那样的显示呢,命令窗口有点不太友好呢。

    python 有现成的GUI框架直接引入好了,tk比较简单。

     修改脚本内容如下,命名为b.py

    from tkinter import *
     
    class Application(Frame):
        def __init__(self, master=None):
            Frame.__init__(self, master)
            self.createWidgets()
            self.pack()
        def createWidgets(self):
            self.helloLabel = Label(self, text='Please intput your name:',bd=20,fg='red')
            self.helloLabel.pack()
            self.entry1=Entry(self,bd=5,fg="black")
            self.entry1.pack()
            self.quitButton = Button(self, text='Quit', command=self.quit)
            self.quitButton.pack()
            
    app = Application()
    # 设置窗口标题:
    app.master.title('Hello World')
    # 主消息循环:
    app.mainloop()

     执行命令行:

    pyinstaller -F -w --icon='E:workspace-eclipseday1mydatfavicon.ico' b.py

    备注  -F:生成单个文件   -w : 是去掉命令行窗口     生成b.exe文件如下:

     运行b.exe,界面展示如下:

    ---end---

  • 相关阅读:
    590. N 叉树的后序遍历
    CF605E
    网络流水题题单
    wqs二分的边界
    luoguP6326 Shopping
    【THUWC2020】工资分配
    CF1336简要题解
    「PKUWC2020」最小割
    洛谷P4895 独钓寒江雪
    省选联考2020简要题解
  • 原文地址:https://www.cnblogs.com/slowcity/p/11663156.html
Copyright © 2011-2022 走看看