将写好的.py/.java程序变成.exe文件
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
四、.py->.exe->执行.exe可能会遇到的报错与解决办法
4.1、''pyinstaller'' 不是内部或外部命令也不是可运行的程序或批处理文件。
一、背景
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、下载需要的库
1pycharm内下载步骤如下图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文件
1win+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