python学习笔记--将python源文件打包成exe文件(pyinstaller)


Posted in Python onMay 26, 2018

pyinstaller 库的使用

PyInstaller是一个十分有用的第三方库,它能够在Windows、Linux、Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包,Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。PyInstaller 需要在命令行(控制台)下用pip 工具安装,如下:

:\>pip install pyinstaller

:\>pip3 install pyinstaller

PyInstaller 的官方网站网址为 http://www.pyinstaller.org/。PyInstaller 库会自动将 PyInstaller 命令安装到 Python 解释器目录中,与 pip 或 pip3 命令路径相同,因此可以直接使用。使用PyInstaller 库十分简单,请注意,由于 PyInstaller 不支持源文件命中有英文句号(.)存在,假设 dpython.py 文件在 D:\codes 目录中,命令如下:

:\>pyinstaller dpython.py

:\>pyinstaller D:\codes\dpython.py

执行完毕后,源文件所在目录将生成 dist 和 build 两个文件夹。其中,build 目录是 pyinstaller 存储临时文件的目录,可以安全删除。最终的打包程序在 dist 内部的 dpython 目录中。目录中其他文件是可执行文件 dpython.exe 的动态链接库。可以通过-F 参数对 Python 源文件生成一个独立的可执行文件,如下:

:\>pyinstaller -F dpython.py

执行后在 dist 目录中出现了 dpython.exe 文件,没有任何依赖库,执行它即可。使用 PyInstaller 库需要注意以下问题:文件路径中不能出现空格和英文句号(.);源文件必须是 UTF-8 编码,暂不支持其他编码类型。采用 IDLE编写的源文件都保存为 UTF-8 编码形式,可直接使用。PyInstaller 有一些常用参数,如下所示:

-h, --help 查看帮助
-v, --version

查看 PyInstaller 版本

--clean 清理打包过程中的临时文件
-D, --onedir
默认值,生成 dist 目录
-F, --onefile
在 dist 文件夹中只生成独立的打包文件第
-p DIR, --paths DIR 添加 Python 文件使用的第三方库路径
-i <.ico or .exe,ID or .icns>,--icon <.ico or .exe,ID or .icns >指定打包程序使用的图标(icon)文件

PyInstaller 命令不需要在 Python 源文件中增加代码,只需要通过命令行进行打包即可。-F 参数最为常用,对于包含第三方库的源文件,可以使用-p 添加第三方库所在路径。如果第三方库由 pip 安装且在Python 环境目录中,则不需要使用-p 参数。

Python 相关文章推荐
Python内置函数的用法实例教程
Sep 08 Python
Django在win10下的安装并创建工程
Nov 20 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
Python爬取成语接龙类网站
Oct 19 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
python openvc 裁剪、剪切图片 提取图片的行和列
Sep 19 Python
详解python算法常用技巧与内置库
Oct 17 Python
pycharm配置QtDesigner的超详细方法
Jan 25 Python
一个入门级python爬虫教程详解
Jan 27 Python
简单介绍Python的第三方库yaml
Jun 18 Python
Python合并pdf文件的工具
Jul 01 Python
Python多重继承的方法解析执行顺序实例分析
May 26 #Python
Python多继承顺序实例分析
May 26 #Python
Python装饰器用法实例总结
May 26 #Python
python 脚本生成随机 字母 + 数字密码功能
May 26 #Python
Python高级用法总结
May 26 #Python
关于Python的一些学习总结
May 25 #Python
windows下python和pip安装教程
May 25 #Python
You might like
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
python字典键值对的添加和遍历方法
2016/09/11 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
python中metaclass原理与用法详解
2019/06/25 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
Python request操作步骤及代码实例
2020/04/13 Python
python+selenium爬取微博热搜存入Mysql的实现方法
2021/01/27 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
毕业生的自我评价
2013/12/30 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
银行进社区活动总结
2014/07/07 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
心灵捕手观后感
2015/06/02 职场文书
婚宴领导致辞
2015/07/28 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
德劲DE1108畅想
2021/04/22 无线电
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android