详解将Python程序(.py)转换为Windows可执行文件(.exe)


Posted in Python onJuly 19, 2019

python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! https://3water.com/article/165763.htm),并要将软件打包为可执行文件(.exe结尾),那如何将.py转为.exe ?

详解将Python程序(.py)转换为Windows可执行文件(.exe)

将.py转为.exe

第一步:安装pyinstaller(这里临时调用了国内豆瓣镜像源,这样下载比较快)

pip install pyinstaller -i https://pypi.douban.com/simple

第二步:更改编码方式(window用户专用)

由于windows默认编码是gbk,而我们的开发环境(unix环境)默认编码使用utf-8,为解决编码问题,我们需要对pyinstaller源码进行一些修改

详解将Python程序(.py)转换为Windows可执行文件(.exe)

修改读取方式为:utf-8

pyinstaller 中winmainifest.py中的第1075行,修改为 with open(filename,encoding="UTF-8") as f:

winmainifest.py 的位置: C:\Program Files (x86)\Python36-32\Lib\site-packages\PyInstaller\utils\win32\winmanifest.py ,如果找不到,可以先尝试第三步,如果转换过程报错,会打印出这个文件在本机的位置.

如果权限不够,无法保存修改,可以先将修改后的文件,保存到桌面(保持原来的文件名),用桌面的文件替换原目录中的文件即可!

第三步:将.py转换为.exe

>这里以`Python GUI入门实例`为例(Python GUI入门实例传送门: https://3water.com/article/165763.htm)

命令: pyinstaller --onefile 011根据ip查询地理位置.py

详解将Python程序(.py)转换为Windows可执行文件(.exe)

创建打包为.exe文件

第四步:运行测试

详解将Python程序(.py)转换为Windows可执行文件(.exe)

编译后的目录

生成的.exe文件在dist文件夹内

将数据库文件GeoLiteCity.dat拷贝到dist文件夹中 详解将Python程序(.py)转换为Windows可执行文件(.exe)

完整的程序

运行可执行文件(.exe)

详解将Python程序(.py)转换为Windows可执行文件(.exe)

以管理员身份运行

详解将Python程序(.py)转换为Windows可执行文件(.exe)

成功运行效果

教程涉及到的资源我都通过百度网盘分享给大家,为了便于大家的下载,资源整合到了一张独立的帖子里,链接如下:
http://www.jianshu.com/p/4f28e1ae08b1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python查找第k小元素代码分享
Dec 18 Python
用Python生成器实现微线程编程的教程
Apr 13 Python
Python自动化部署工具Fabric的简单上手指南
Apr 19 Python
python中sys.argv函数精简概括
Jul 08 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
python 二维数组90度旋转的方法
Jan 28 Python
20行python代码实现人脸识别
May 05 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
Jun 13 Python
python代码编写计算器小程序
Mar 30 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 Python
简单了解django缓存方式及配置
Jul 19 #Python
python实现最小二乘法线性拟合
Jul 19 #Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 #Python
python如何实现数据的线性拟合
Jul 19 #Python
django获取from表单multiple-select的value和id的方法
Jul 19 #Python
django 信号调度机制详解
Jul 19 #Python
python傅里叶变换FFT绘制频谱图
Jul 19 #Python
You might like
学习使用curl采集curl使用方法
2012/01/11 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
关于php中一些字符串总结
2016/05/05 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
再谈javascript原型继承
2014/11/10 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
vue.js 嵌套循环、if判断、动态删除的实例
2018/03/07 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
python并发编程之线程实例解析
2017/12/27 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
python自动发微信监控报警
2019/09/06 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python新手学习函数默认参数设置
2020/06/03 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
放飞梦想演讲稿
2014/05/05 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
中标通知书
2015/04/17 职场文书
同学聚会开幕词
2019/04/02 职场文书
人力资源部工作计划
2019/05/14 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
浅谈Node的内存泄露问题
2022/05/06 NodeJs