一,简介
Python写完程序,要靠命令来执行太LOW,太低调了,还不华丽了。
再说别人的电脑,都没有Python库,怎么执行,还能不能愉快的一起玩耍了。
所以哪怕只会写一个HelloWorld,也要弄成exe程序,方便伟大的代码传播事业。
需要用到工具:pyInstaller、pypiwin32。
二,安装pyInstaller
1.打开cmd窗口,执行命令: pip install pyinstaller
Installing collected packages: future, pefile, altgraph, macholib, pywin32-ctype
s, pyinstaller
Running setup.py install for future ... done
Running setup.py install for pefile ... done
Running setup.py install for pyinstaller ... done
Successfully installed altgraph-0.16.1 future-0.17.1 macholib-1.11 pefile-2019.4
.18 pyinstaller-3.4 pywin32-ctypes-0.2.0
2.另外也可以:
访问网站:http://www.pyinstaller.org/downloads.html ,windows下选择zip文件解压
说明:windows下tar.gz包也可以解压缩,方法:
①、安装解压工具7z;
②、右击“Add to archive”;
③、选择压缩格式为tar;
④、解压a.tar,“Extract Here”
三,安装pypiwin32
在Python上,window API调用大致分为2种方法:1.Python的第三方库:Pywin32 ;2.引用windowAPI动态链接库;推荐第一个方法
打开cmd窗口,输入命令:pip install pywin32 。如果pip命令不能用,请检查环境变量配置,或者直接切换到Python安装路径中的scripts下:
可以使用命令:pip list 检查是否安装成功。
在Scripts目录下执行命令:python pywin32_postinstall.py -install
四,制作时钟小程序clock.py
附Python3.7源码:
import tkinterimport time top=tkinter.Tk() #创建窗体toptop.title("小时钟") label_tk=tkinter.Label(top, text="Hello", bg="pink",fg="blue", font=("宋体",20), justify="left", ) #创建小部件def gettime(): var =time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time())) top.after(1000,gettime) label_tk.config(text=var)label_tk.pack() # 将小部件放置到主窗口中gettime()top.mainloop()
五,制作成exe执行程序
1.找到pip方式安装pyinstaller的目录,跑到了Python安装目录的Scripts 目录下,在该目录下有2个相关文件:pyinstaller.exe和pyinstaller-script.py,待会要用到后者。
2. 将clock.py放到此目录里
3. 在CMD命令行进入上述目录,并执行命令:python pyinstaller-script.py -F clock.py
C:\Users\admin\AppData\Local\Programs\Python\Python37\Scripts>python pyinstaller-script.py -F clock.py
这样就会生成clock.exe,存放在Scripts下面的dist目录里。
4.双击生成目录 C:\Users\admin\AppData\Local\Programs\Python\Python37\Scripts\dist下的 clock.exe
程序即可运行。
参考:
https://www.cnblogs.com/panyangduola/p/8277727.html
https://blog.csdn.net/woshisangsang/article/details/73230433
https://blog.csdn.net/tangdaxue43/article/details/84840643
原文地址:https://www.cnblogs.com/jintianniu/p/11005912.html