详解将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的类实例属性访问规则探讨
Jan 30 Python
Python求导数的方法
May 09 Python
Django如何自定义分页
Sep 25 Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 Python
python 获取sqlite3数据库的表名和表字段名的实例
Jul 17 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
python利用 keyboard 库记录键盘事件
Oct 16 Python
使用Python爬取Json数据的示例代码
Dec 07 Python
pytorch训练神经网络爆内存的解决方案
May 22 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的QRcode类与大家分享
2011/11/13 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python中的对象拷贝示例 python引用传递
2014/01/23 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Python绘制动态水球图过程详解
2020/06/03 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
css3的@media属性实现页面响应式布局示例代码
2014/02/10 HTML / CSS
纯css3实现照片墙效果
2014/12/26 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
营销与策划应届生求职信
2013/11/04 职场文书
安全教育感言
2014/03/04 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
通知的格式范文
2015/04/27 职场文书
个人工作决心书
2015/09/22 职场文书
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL