详解将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 多进程并发操作中进程池Pool的实例
Nov 01 Python
python机器学习案例教程——K最近邻算法的实现
Dec 28 Python
一份python入门应该看的学习资料
Apr 11 Python
使用python爬取B站千万级数据
Jun 08 Python
python实现顺序表的简单代码
Sep 28 Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 Python
python集成开发环境配置(pycharm)
Feb 14 Python
Python中使用filter过滤列表的一个小技巧分享
May 02 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 Python
如何使用Python进行PDF图片识别OCR
Jan 22 Python
Python中字符串对象语法分享
Feb 24 Python
一行Python命令实现批量加水印
Apr 07 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
php中的登陆login
2007/01/18 PHP
调整优化您的LAMP应用程序的5种简单方法
2011/06/26 PHP
thinkphp模板的包含与渲染实例分析
2014/11/26 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
php递归实现无限分类的方法
2015/07/28 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
jQuery Ajax 实例全解析
2011/04/20 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
node实现基于token的身份验证
2018/04/09 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
Python实现包含min函数的栈
2016/04/29 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
python实现电子词典
2020/03/03 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
英文演讲稿开场白
2014/08/25 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android