前言
虽然这个问题很基础,网络上也有很多相关文章,但自己动手实践和阅读现成的文章是完全不同的两件事。亲手操作后,是否有记录以及下次是否还能解决问题,这又是一个新的挑战。
之所以这段时间想要学习nodejs,主要是因为Python的可用界面库在视觉效果上显得有些过时,无法跟上潮流,所以我决定转向使用electron。不过,Python仍然不能忽视,因为很多代码都是用Python编写的,完全用nodejs重写成本太高。因此,掌握Python的可执行程序打包方法还是非常必要的,至少可以先将Python程序打包起来,提供给读者朋友们使用,即使界面可能不那么美观。先求生存,再求发展吧。
环境准备:Windows 10 + Python 3.7。Python虚拟环境virtualenv的安装脚本为pip install virtualenv。安装虚拟环境的目的是为了减少打包时所需的依赖包,从而减小打包程序的体积。Python打包工具pyinstaller的安装脚本为pip install pyinstaller。

立即学习“Python免费学习笔记(深入)”;
打包步骤:在要打包的Python工程根目录下,创建虚拟运行环境:virtualenv env;然后cd到env/Scripts目录下,执行activate命令,激活虚拟环境;如果想要解除虚拟环境,恢复系统环境,可以在env/Scripts目录下执行deactivate命令。接下来,所有pip install操作都只会影响当前工程,我们就可以安装Python文件所需的依赖库了。安装完依赖库后,就可以开始打包了,执行pyinstaller -F demo.py命令即可,其中demo.py是我们要打包的主程序。

打包完成后,在工程目录的dist文件夹下,我们就可以找到打包好的可执行程序了。使用上述命令打包的可执行程序在启动时会显示后台终端窗口,如果想要去掉这个终端,只需在打包命令后面加上参数-w,即pyinstaller -F demo.py -w。具体参数的作用,可以参考下面的内容。
PyInstaller常用选项:
| 选项 | 作用 |
|---|---|
| -h, --help | 查看该模块的帮助信息 |
| -F, --onefile | 产生单个的可执行文件 |
| -D, --onedir | 产生一个目录(包含多个文件)作为可执行程序 |
| -a, --ascii | 不包含 Unicode 字符集支持 |
| -d, --debug | 产生 debug 版本的可执行文件 |
| -w, --windowed, --noconsolc | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
| -c, --nowindowed, --console | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
| -o DIR, --out=DIR | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
| -p DIR, --path=DIR | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
| -n NAME, --name=NAME | 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 |
好了,今天就到这里。之前我为大家制作了一个PDF合并的小工具,就是用这种方法打包出来的。这个工具结合了tkinter库,基本可以打包出一个对新手用户比较友好的程序。看来我可以整理一下以前用Python编写的小工具,制作一个原创工具资源小集合了。
以上就是打包python为windows可执行程序的详细内容,更多请关注php中文网其它相关文章!
Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号