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

yipeiwu_com6年前Python基础

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

将.py转为.exe

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

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

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

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

修改读取方式为: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入门实例传送门: /post/165763.htm

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

创建打包为.exe文件

第四步:运行测试

编译后的目录

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

将数据库文件GeoLiteCity.dat拷贝到dist文件夹中

完整的程序

运行可执行文件(.exe)

以管理员身份运行

成功运行效果

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 算法 排序实现快速排序

QUICKSORT(A, p, r)是快速排序的子程序,调用划分程序对数组进行划分,然后递归地调用QUICKSORT(A, p, r),以完成快速排序的过程。快速排序的最差时间复杂度为O...

Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并

1. 简介 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。最主要的数据结...

python的time模块和datetime模块实例解析

这篇文章主要介绍了python的time模块和datetime模块实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. 将当前...

python检测IP地址变化并触发事件

IoT PoC项目中需要展示视频采集源进行wifi切换后(表明视频采集源端发生了移动),接收端观看到的视频的流畅度,以及当接收端进行移动时,检测视频的流畅度,故需要一个模块周期性地探测本...

Python实现迭代时使用索引的方法示例

本文实例讲述了Python实现迭代时使用索引的方法。分享给大家供大家参考,具体如下: 索引迭代 Python中,迭代永远是取出元素本身,而非元素的索引。 对于有序集合,元素确实是有索引的...