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的Django中将文件上传至七牛云存储的代码分享
Jun 03 Python
python中Switch/Case实现的示例代码
Nov 09 Python
Numpy数组转置的两种实现方法
Apr 17 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
Python实现简单的用户交互方法详解
Sep 25 Python
创建Django项目图文实例详解
Jun 06 Python
Pycharm如何运行.py文件的方法步骤
Mar 03 Python
django修改models重建数据库的操作
Mar 31 Python
pyecharts在数据可视化中的应用详解
Jun 08 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
Python+kivy BoxLayout布局示例代码详解
Dec 28 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
Feb 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
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
代码讲解Python对Windows服务进行监控
2018/02/11 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
HTML5引入的新数组TypedArray介绍
2012/12/24 HTML / CSS
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
中专毕业生自我鉴定
2013/11/21 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python