详解将Python程序(.py)转换为Windows可执行文件(.exe)
作者:木子昭 发布时间:2022-05-29 20:46:25
python开发者向普通windows用户分享程序,要给程序加图形化的界面(传送门:这可能是最好玩的python GUI入门实例! https://www.jb51.net/article/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入门实例传送门: https://www.jb51.net/article/165763.htm)
命令: pyinstaller --onefile 011根据ip查询地理位置.py
创建打包为.exe文件
第四步:运行测试
编译后的目录
生成的.exe文件在dist文件夹内
将数据库文件GeoLiteCity.dat拷贝到dist文件夹中
完整的程序
运行可执行文件(.exe)
以管理员身份运行
成功运行效果
教程涉及到的资源我都通过百度网盘分享给大家,为了便于大家的下载,资源整合到了一张独立的帖子里,链接如下:
http://www.jianshu.com/p/4f28e1ae08b1
来源:https://www.jianshu.com/p/64cb9108a7c6


猜你喜欢
- 经常碰到的一个问题是limit的offset太高,如:limit 100000,20,这样系统会查询100020条,然后把前面的
- Python作为一种功能强大的编程语言,因其简单易学而受到很多开发者的青睐。那么,Python 的应用领域有哪些呢?概括起来,Python的
- 本文实例为大家分享了python简单实现图片文字分割的具体代码,供大家参考,具体内容如下原图:图片预处理:图片二值化以及图片降噪处理。# 图
- 不知道大家在面试或者工作过程中有没有被 mouseover 和 mouseenter (对应的是 mouseout 和 mouseleave
- 年月日三下拉框联动,代码比较简洁<html><head><title>年月日三下拉框联动 - www.a
- function $package(name) { &nb
- 前言今晚就是新年夜啦,为了 刷一波存在感 送出我的祝福,同时让它看起来不像群发消息,我们简单地用三步来实现定制QQ祝福~
- 一、块(Block)是PL/SQL的基本执行单元,由定义部分,执行部分(必须)和例外处理部分组成。Declare/*定义部分――定义常量、变
- 如下所示:# coding:utf-8'''求两个字符串的最长公共子串思想:建立一个二维数组,保存连续位相同与否的状
- 本文从简单的例子入手,从打包文件去分析以下三个问题:webpack打包文件是怎样的?如何做到兼容各大模块化方案的?webpack3带来的新特
- 前言最近很多新入职的同事问这个问题,特别是通过 homebrew 自动安装的 mysql ,其版本默认已经是 8.0 了,由于增加了一些安全
- 这篇论坛文章(赛迪网技术社区)根据网友的个人实践扼要的讲解了将MySQL 5.0下的数据导入到MySQL 3.23中的具体方法及步骤,详细内
- 忙碌了一年,今天终于放假了。原本打算好好休息一下,没成想只过了半天就觉得有点无聊。看家人和朋友们都在忙年,那我就用OpenGL导演一场烟花盛
- 贪吃蛇游戏是经典手机游戏,既简单又耐玩。通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分。在诺基亚时代,风靡整个手机界,今天我们来看看另类的,
- 接下来,直接给出大家响应的代码,并对每一行进行标注,希望能够帮到大家。需要用到的是库是。numpy 、sklearn。#导入相应的库(对数据
- 工具选择 一。sqlyog 这个工具还是很强大的,但是面对5个G的数据库来说,也只能罢工了,简单说,本机导入可以,从本机导入服务器不行。 二
- 问题背景公司的项目是前后端分离,前端Vue+后端JavaSpringBoot为主,部分功能是PythonTornado,那么需要支持一个是跨
- 本文实例讲述了Python实现查找二叉搜索树第k大的节点功能。分享给大家供大家参考,具体如下:题目描述给定一个二叉搜索树,找出其中第k大的节
- 我最近花了一些时间在探索CPython,并且我想要在这里分享我的一些冒险经历。Allison Kaptur的excellent guide
- 层及索引levels,刚开始学习pandas的时候没有太多的操作关于groupby,仅仅是简单的count、sum、size等等,没有更深入