目录
一、背景
1.1、前言
1.2、说明
二、优点与缺点分析
2.1、优点
2.2、缺点
三、将.py变成.exe步骤
3.1、下载需要的库
3.2、pycharm控制台.py->.exe文件
3.3、命令行.py->.exe文件
四、.py->.exe->执行.exe可能会遇到的报错与解决办法
4.1、''pyinstaller'' 不是内部或外部命令,也不是可运行的程序或批处理文件。
五、.exe->.py文件
六、将.java->.exe
一、背景
1.1、前言
当我们写好代码并测试功能符合要求时,有可能每天都要执行这个程序(比如我写了一个爬虫脚本,每天定时运行获取我想看的小说更新内容),那么每次执行程序都要打开编辑器或者命令行吗?或者,我写了个程序能实现某某某炫酷的功能,和喜欢的女孩子
表白炫耀/和兄弟炫耀分享,难道要发一大串源代码过去让他们在执行一次吗?那当然不行,一种很好的解决办法就是,把这个程序变成可执行(.exe)文件,点击即执行,岂不是非常方便。
1.2、说明
操作系统:win 10
编辑器:pycharm edu
语言及版本:python 3.10
需要的库:pyinstaller
实现思路:使用Python的第三库,进行生成可执行文件(.exe)
对pyinstaller使用参数介绍:
-F,作用:生成单个可执行文件
-c,作用:指定使用命令行窗口运行程序
-w,作用:指定程序运行时不显示命令行窗口
-i,作用:添加可执行文件的图标(-i 图片路径)
-n,作用:可执行文件生成后的名称
示例,生成一个可执行文件,设置文件图标,生成后的名称为派大星.exe,执行程序不显示命令行窗口,那么执行的指令应该为:
pyinstaller -F -w -i 图片路径 -n 派大星 程序文件.py
二、优点与缺点分析
2.1、优点
1)点开即运行,方便
2)生成.exe文件中遇到各种问题能解决的话,可以增长一些知识
2.2、缺点
1)生成的过程容易遇到各种报错
2)生成的.exe文件占用空间大(因为打包了很多无关的库)
三、将.py变成.exe步骤
3.1、下载需要的库
1)pycharm内下载,步骤如下图1、2所示:
图1
图2
点击下载之后,进行等待即可,网络快的话20秒可以下载完成,慢一些可能需要几分钟。
2)也可以在pycharm的控制台下载,如下图3所示:
图3
3)在命令行下载所需的库
步骤如下图4、5、6:
win+R输入内容cmd打开命令行:
图4
输入:pip install pyinstaller
图5
结果:
图6
3.2、pycharm控制台.py->.exe文件
步骤如下图7、8、9:
1)要把路径切换到需要生成.exe文件的位置并输入指令(installer -F -w 文件名.py),如下图7:
图7
2)开始生成.exe文件,如下图8:
图8
3)成功生成.exe文件,如下图9:
图9
4)查看生成的.exe文件
如下图10、图11:
图10
生成的.exe文件在dist目录中,.spec文件是生产过程文件;
图11
5)运行程序
运行程序之后会弹出一个命令行的框,程序成功执行之后,框就会消失;
比如,我这里生成的.exe程序,就是一个邮件发送,运行完成后结果如下图12:
图12
3.3、命令行.py->.exe文件
1)win+R输入内容cmd打开命令行:
图12
2)在命令行输入生成指令
过程如下图13、图14:
图13
图14
3)查看生成文件
如下图15、图16:
图15
图16
4)运行
运行时,会弹出命令行显示结果,我这里结果正常,只是简单的输出内容,就不展示了。
四、.py->.exe->执行.exe可能会遇到的报错与解决办法
4.1、''pyinstaller'' 不是内部或外部命令,也不是可运行的程序或批处理文件。
背景:在要生成.exe文件的目录下打开了命令行输入生成指令,但是报这个错
解决办法:
1)在要生成.exe文件的目录打开cmd,查看是否存在pyinstaller->pip list(当出现了这个报错,大概率是不存在的),若不存在则下载->pip install pyinstaller,继续执行之前遇到报错的指令即可。
以上问题是我遇到并成功解决的,之后遇到其它问题在进行补充。
五、.exe->.py文件
说明:这里有一个前提,就是这个.exe文件一定要是.py文件生成的,不然会出什么错我也不清楚
他人分享内容如下:点这里
或者直接搜索:查看.py生成的.exe代码也可
六、将.java->.exe
虽然学过java,但很长时间没用了,故借鉴他人分享内容,进行记录,方便以后查看,这是文章地址:.java->.exehttps://blog.csdn.net/anmin8888/article/details/108039457?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%B0%86%E4%BB%A3%E7%A0%81%E7%A8%8B%E5%BA%8F%E5%8F%98%E6%88%90.exe%E6%96%87%E4%BB%B6&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-108039457.142^v71^control_1,201^v4^add_ask&spm=1018.2226.3001.4187