如何将python打包成可执行的exe
安装pyinstaller
执行命令:
pip install pyinstaller
安装完后,检查安装成功与否:
pyinstaller --version
PyInstaller原理简介
PyInstaller其实就是把python解析器和你自己的脚本打包成一个可执行的文件,和编译成真正的机器码完全是两回事,所以千万不要指望成打包成一个可执行文件会提高运行效率,相反可能会降低运行效率,好处就是在运行者的机器上不用安装python和你的脚本依赖的库。在Linux操作系统下,它主要用的binutil工具包里面的ldd和objdump命令。
PyInstaller输入你指定的的脚本,首先分析脚本所依赖的其他脚本,然后去查找,复制,把所有相关的脚本收集起来,包括Python解析器,然后把这些文件放在一个目录下,或者打包进一个可执行文件里面。
可以直接发布输出的整个文件夹里面的文件,或者生成的可执行文件。你只需要告诉用户,你的应用App是自我包含的,不需要安装其他包,或某个版本的Python,就可以直接运行了。
需要注意的是,PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。
接下来可以打包exe了
pyinstaller -F -w main.py
-F 表示生成单个可执行文件;
-D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)。
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!;
-c –console, –nowindowed 使用控制台,无界面(默认);
-p 表示你自己自定义需要加载的类路径,一般情况下用不到;
-i 表示可执行文件的图标。
如果项目中使用了openpyxl的话,那么通常打包以后,exe是用不了的,那么我们需要检查openpyxl的版本:
一般情况下,自己装的openpyxl的版本可能过高,那么就会打包报错,我们需要安装一个版本低的,那么我们需要分别执行下列两个命令:
pip uninstall openpyxl
pip install openpyxl==2.3.4
那么再重复第3步就可以打包成功了!!!!
————————————————
版权声明:本文为CSDN博主「yuanyuan啊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41585840/article/details/111053523