详解将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 面向对象之封装、继承、多态操作实例分析

Python 面向对象之封装、继承、多态操作实例分析

本文实例讲述了Python 面向对象之封装、继承、多态操作。分享给大家供大家参考,具体如下: 封装、继承、多态 是面向对象的3大特性 为啥要封装 好处 在使用面向过程编程时,当需要对...

基于python实现的百度新歌榜、热歌榜下载器(附代码)

基于python实现的百度新歌榜、热歌榜下载器(附代码)

前言 首先声明,本工具仅仅为学习之用,不涉及版权问题,因为百度音乐里面的歌曲本身是可以下载的,而且现在百度也提供了”百度音乐播放器”,可以通过这个工具进行批量下载。 我当时做这个工具的时...

PyQt5重写QComboBox的鼠标点击事件方法

最近学PyQt5,想要做一个串口调试助手来练练手,之前用了正点原子的串口上位机,觉得点击ComboBox自动检测串口这个功能很棒,之前用QT5写串口调试助手的时候也想加入这个功能,但是一...

Python检测字符串中是否包含某字符集合中的字符

目的   检测字符串中是否包含某字符集合中的字符 方法   最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器 复制代码 代码如下: def containAny(seq,ase...

Python 基于wxpy库实现微信添加好友功能(简洁)

Python 基于wxpy库实现微信添加好友功能(简洁)

Github:https://github.com/Lyo-hub/wxpy_AddFriend 本程序为基于wxpy库实现的。 1.打开cmd导入一下库。 2.修改库文件中ad...