详解将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之深入变量和引用对象
Sep 24 Python
python生成IP段的方法
Jul 07 Python
Python多层装饰器用法实例分析
Feb 09 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
python实现俄罗斯方块
Jun 26 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
python如何删除列为空的行
Jul 17 Python
Python 爬虫性能相关总结
Aug 03 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 Python
python 实现表情识别
Nov 21 Python
Python开发.exe小工具的详细步骤
Jan 27 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
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
浅谈Python peewee 使用经验
2017/10/20 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
Python连接Redis的基本配置方法
2018/09/13 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
python tkinter窗口最大化的实现
2019/07/15 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Python descriptor(描述符)的实现
2020/11/15 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
UNIX文件类型
2013/08/29 面试题
《值日生》教学反思
2014/02/17 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
水污染治理工程专业求职信
2014/06/14 职场文书
春节超市活动方案
2014/08/14 职场文书
运动会加油稿20字
2014/11/15 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书