基于PyInstaller的exe可执行文件打包方法研究
2018-12-28唐磊
摘要:随着云计算,大数据和人工智能的发展,被称为“胶水”语言的Python应用到各个领域。由于Python语言是解释性的,通过它编写的程序要打包成exe可执行文件才可脱离环境运行,本文介绍如何使用PyInstaller打包Python程序为exe可执行文件的方法。
关键字:Python;PyInstaller;可执行文件; 脚本; virtualenv
Research on exe executable file packaging method based on PyInstaller
Tang Lei
(Chongqing Three Gorges Polytechnic College, Chongqing, Wanzhou 404155)
Abstract:With the development of cloud computing, large data and artificial intelligence, Python, known as the "glue" language, has been applied to various fields. Because the Python language is interpretive, programs written by it can only be packaged into exe executable files to run out of the environment. This article describes how to use PyInstaller to package Python programs as exe executable files.
Keywords:Python; PyInstaller; executable file; script; virtualenv
1.引言
Python是一种跨平台的、开源的、免费的、解释型的高级编程语言。由荷兰人Guido van Rossum于1989年发明。Python有着简单、开发速度快、节省时间和容易学习等特点。近几年发展迅猛,在2018年3月的TIOBE编程语言排行榜中已晋升到第4名。Python的应用领域非常广泛,在Web编程、图形处理、黑客编程、数据分析、网络爬虫和科学计算领域都能找到身影。
2.主要技术介绍
在Python环境中,针对Python脚本转换为Windows平台上可执行文件的工具为Py2exe和cx_freeze。但这两种工具都需手动输入所依赖库的名称,无法自动识别,生成过程中易出现错误。PyInstaller输入指定的脚本,首先分析脚本所依赖库的脚本,然后自动查找复制,把相关脚本和Python解析器放到build目录中,并在dist目录中生成可执行文件。
PyInstaller的命令格式如下:
Pyinstaller参数python脚本文件,参数如下:
-F生成单个可执行文件;
-w去掉cmd窗口,GUI界面程序时有用;
-c去掉cmd窗口,控制台程序时有用;
-p需要加载的类库路径;
-I可执行文件的ico图标。
3.操作过程
3.1.创建Python虚拟环境
Python的虚拟环境可以为一个Python项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同Python版本带来的冲突,而且还能方便项目的发布。在Python虚拟环境中使用PyInstaller生成可执行文件,可以去掉多余的依赖包,缩小可执行文件的大小。
(1)使用pip安装virtualenv文件,在cmd中输入命令:pip install virtualenv;
(2)创建Python虚拟环境,在cmd中输入命令进入项目文件夹D:\PythonWorkSpace
\jpgtopdf\,再次输入命令:virtualenv venv创建Python虚拟环境文件夹;
(3)激活Python虚拟环境,在cmd中输入命令:cd venv进入虚拟环境目录,再次输
入命令:Scripts\activate,前面出现venv符号就表示进入虚拟环境,退出环境输入命令:Scripts\deactivate。
3.2.配置自定義模块环境变量
在使用PyInstaller打包为可执行文件的过程中,要保证打包后的可执行文件能正常执行,Python脚本中引入的自定义模块必须要配置环境才可打包到可执行文件中,配置过程为:在venv目录中的进入路径Lib\site-packages,创建文件MyModule.pth,编辑文件并输入自定义模块所在路径D:\PythonWorkSpace\MyModule,完成后保存文件。
3.3打包exe可执行文件
在cmd中输入命令:cd D:\PythonWorkSpace\jpgtopdf进入Python脚本所在目录,然后再次输入命令:pyinstaller -F -w -i pdfconvert.ico PdfConverter.py开始打包exe可执行文件,其中-F表示生成单个可执行文件,由于是GUI程序使用-w参数去掉cmd窗口,-i参数指定生成可执行文件的图标为pdfconvert.ico,在cmd中出现提示“Building EXE from EXE-00.toc completed successfully.”,表示可执行文件生成完成,在dist目录中可看到可执行文件PdfConverter.exe。
4.结语
通过以上操作可知,使用PyInstaller打包Python脚本为可执行文件操作步骤简单,方便快捷。生成的可执行文件在Windows 10与Windows 7操作系统上都能正常运行,表明PyInstaller生成的可执行文件具有良好的移植性,是将Python脚本生成可执行文件的比较理想的选择。
参考文献:
[1] 王润文,王圣辉,边润根. Python程序打包成exe可执行文件的方法探究[J]. 无线互联科技,2017,(12):52.
[2] 明日科技. 零基础学Python(全彩版)[M].长春:吉林大学出版社,2018.
[3] 百度经验.Windows:使用virtualenv创建虚拟环境,安装pip[EB/OL].[2017-5-24]. https://
jingyan.baidu.com/article/73c3ce281660e9e50243d978.html.
[4] 博客园. (转)为Python添加默认模块搜索路径[EB/OL].[2016-5-10]. https://
www.cnblogs.com/shanql/articles/5477483.html.
[5] CSDN博客. Python程序打包成exe可执行文件[EB/OL].[2017-8-2]. https://
blog.csdn.net/zengxiantao1994/article/details/76578421?locationNum=9&fps;=1.
作者简介:唐磊(1983-),男(汉族),重庆万州,硕士,实验师,主要研究方向为软件工程、网络工程、移动互联网应用、云计算与大数据应用。