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中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
Python对两个有序列表进行合并和排序的例子
Jun 13 Python
wxPython框架类和面板类的使用实例
Sep 28 Python
python学习之matplotlib绘制散点图实例
Dec 09 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
python实现自动发送邮件
Jun 20 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
Jul 02 Python
关于sys.stdout和print的区别详解
Dec 05 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
python实现音乐播放器 python实现花框音乐盒子
Feb 25 Python
python3读取autocad图形文件.py实例
Jun 05 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 COOKIE设置为浏览器进程
2009/06/21 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
微信小程序开发问题之wx.previewImage
2018/12/25 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
Python实现类继承实例
2014/07/04 Python
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python绘制七段数码管实例代码
2017/12/20 Python
Python enumerate内置库用法解析
2020/02/24 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
椰子猫砂:CatSpot
2018/08/27 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
土木工程应届生求职信
2013/10/31 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
2014年团支书工作总结
2014/11/14 职场文书
门店店长岗位职责
2015/04/14 职场文书