Python自制小时钟,并转换为exe可执行程序详解

一,简介
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 tkinter
import time

top=tkinter.Tk() #创建窗体top
top.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:UsersadminAppDataLocalProgramsPythonPython37Scripts>python pyinstaller-script.py -F clock.py

这样就会生成clock.exe,存放在Scripts下面的dist目录里。

4.双击生成目录 C:UsersadminAppDataLocalProgramsPythonPython37Scriptsdist下的  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