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 iter()函数用法实例分析
Mar 17 Python
django DRF图片路径问题的解决方法
Sep 10 Python
Python操作mongodb数据库的方法详解
Dec 08 Python
python实现生成字符串大小写字母和数字的各种组合
Jan 01 Python
Python3获取拉勾网招聘信息的方法实例
Apr 03 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
我们为什么要减少Python中循环的使用
Jul 10 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
基于python判断目录或者文件代码实例
Nov 29 Python
python 解决flask uwsgi 获取不到全局变量的问题
Dec 22 Python
Python发送手机动态验证码代码实例
Feb 28 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
PHP提取中文首字母
2008/04/09 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
php除数取整示例
2014/04/24 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
Bootstrap学习笔记之环境配置(1)
2016/12/07 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
2018/03/05 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
js验证账户名是否重复
2020/05/26 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
django如何连接已存在数据的数据库
2018/08/14 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
python时间日期操作方法实例小结
2020/02/06 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
甜点店创业计划书
2014/01/27 职场文书
高一化学教学反思
2014/02/05 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
golang操作rocketmq的示例代码
2022/04/06 Golang