1.引言
我们都知道在windows下使用c/c++/c#语言在一些诸如Visual Studio,QT等IDE中可以编写win32或UI来生成可执行文件。该方法比较常用,但也存在一定弊端,如:
1)如果要将软件拷贝到其他电脑上使用,则需要将一些动态库文件(.dll)一起拷贝,否则会打开错误;
2)c语言相比python而言入手较难,python语言相较简单;
那么对于一些习惯于使用python语言进行编程的开发者,如果能够使用python进行逻辑编写,然后再生成可执行文件就事半功倍了。这时,pyinstaller工具就派上了用场。
2.pyinstaller介绍
PyInstaller的作用其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事。工作原理是输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
注意:
1)PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。不可以跨平台使用,想在windows上使用可执行文件,则需要在windows环境下进行可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。
2)该方式的实质也是python脚本文件,作为解释性语言,其运行速度不及c语言编辑完成的二进制文件。
3.下载pyinstaller
在cmd终端,允许如下命令即可:
$ pip install pyinstaller
4.使用方法和案例
4.1 基本语法
pyinstaller options(选项) myscript.py(你的脚本文件)
即:pyinstaller + 一些可选项 + 你的脚本文件。
常用的可选项如下:
–onefile 将结果打包成一个可执行文件
–onedir 将所有结果打包到一个文件夹中,该文件夹包括一个可执行文件和可执行文件执行时需要的依赖文件(默认)
–paths=DIR 设置导入路径
–distpath=DIR 设置将打包的结果文件放置的路径
–specpath=DIR 设置将spec文件放置的路径
–windowed 使用windows子系统执行,不会打开命令行(只对windows有效)
–nowindowed 使用控制台子系统执行(默认)(只对windows有效)
–icon=<FILE.ICO> 将file.ico添加为可执行文件的资源(只对windows有效)
4.2 一般使用语法
pyinstaller --onefile --nowindowed --icon=" 可执行文件图标存放的地址" --distpath=“可执行文件要保存的地址” you_python.py(你的python脚本文件)
4.3 案例
若想将编写完的test_0820.py文件生成可执行文件保存在D:\Program Files (x86)\auto_recog_writ_phone目录下,如果不设置图标,则只需要先切换到这个test_0820.py文件所在的目录,然后运行如下命令即可:
pyinstaller --onefile --nowindowed --distpath=" D:\Program Files (x86)\auto_recog_writ_phone" test_0820.py
如图所示,运行完成后,会在D:\Program Files (x86)\auto_recog_writ_phone目录下,就可以看到test_0820可执行文件。
双击该可执行文件即可运行,如果要放到其他windows平台上使用,直接拷贝或微信发送这个可执行文件即可。