1. 简介
pyinstaller是一个第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。
PyInstaller支持Python 2.7和Python 3.3+。可以在Windows、Mac OS X和Linux上使用,但是并不是跨平台的,而是说你要是希望打包成.exe文件,需要在Windows系统上运行PyInstaller进行打包工作;打包成mac app,需要在Mac OS上使用。
2. 安装
安装:pip install pyinstaller
更新:pip install --upgrade pyinstaller
3. 使用
3.1. 基本使用
pyinstaller -F app.py
生成的二进制文件为./dist/app
3.2. 常用选项
-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 的名字 |
3.3. 链接c++动态链接库
使用--add-binary
注意,--add-binary
选项后面的参数格式为SOURCE:DESTINATION
。SOURCE
是你的动态链接库文件,DESTINATION
是打包后的可执行文件中的目标路径。在这个例子中,我们将动态链接库放在了可执行文件的根目录中(.
表示当前目录)。
pyinstaller --onefile --add-binary './libexample.so:.' main.py
如果你需要链接多个二进制文件,你可以使用多个--add-binary
选项,每个选项后面跟着一个二进制文件的路径。
4. 问题记录
4.1. 运行时出现"ModuleNotFoundError"错误
在找包的时候指定代码路径,即使用--path
参考文献
【Python】pyinstaller的介绍与使用-CSDN博客
https://www.cnblogs.com/cou1d/p/12622396.html