Python PyInstaller安装和使用
PyInstaller是一款将 .py
文件转为 .exe
文件的软件
安装 PyInstaller
使用pip命令安装
1 | pip install pyinstaller |
使用 PyInstaller
基本使用
PyInstaller工具的命令语法如下
1 | pyinstaller 选项 Python文件 |
常用的pyinstaller选项
选项 | 作用 |
---|---|
-h, --help | 查看 PyInstaller 选项的详细信息 |
-F, -onefile | 产生单个的可执行文件 |
-D, --onedir | 产生一个目录(包含多个文件)作为可执行程序 |
-a, --ascii | 不包含 Unicode 字符集支持 |
-d, --debug | 产生 debug 版本的可执行文件 |
-w, --windowed, --noconsole | 指定程序运行时不显示命令行窗口(仅对 Windows 有效) |
-c, --console, --nowindowed | 指定使用命令行窗口运行程序(仅对 Windows 有效) |
-o DIR, --out=DIR | 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 |
-p DIR, --path=DIR | 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 |
-n NAME, --name=NAME | 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 |
-i, --icon <FILE.ico 或 FILE.exe,ID 或 FILE.icns 或 “NONE”> | FILE.ico: apply that icon to a Windows executable FILE.exe,ID, extract the icon with ID from an exe FILE.icns: apply the icon to the .app bundle on Mac OS X Use “NONE” to not apply any icon, thereby making the OS to show some default (default: apply PyInstaller’s icon) |
–uac-admin | 使打包后的exe文件请求管理员权限(仅对 Windows 有效) |
如
1 | pyinstaller -F -w -i file.ico main.py |
运行结束后可在 dist
目录中找到生成的 main.exe
打包多个资源文件到一个可执行文件
假设 main.py
调用 small.ico
文件
在 main.py
中添加下列函数
1 | def resource_path(relative_path): |
当 main.py
与 small.ico
在同一目录时,在 main.py
中通过下面的代码获得 small.ico
的路径
1 | small_ico = resource_path(os.path.join('small.ico')) |
当 small.ico
位于子目录 ico
中时,在 main.py
中通过下面的代码获得 small.ico
的路径
1 | small_ico = resource_path(os.path.join('ico', 'small.ico')) |
下面开始打包
1 | pyinstaller -F -w main.py |
打包完成后删除生成的 __pycache__
、 build
、 dist
文件夹
然后打开 main.spec
文件
在datas目录中增加一个元组,如:
main.py
与 small.ico
在同一目录: datas=[('small.ico', '.')],
small.ico
位于子目录 ico
中: datas=[('ico', 'ico')],
然后再次打包
1 | pyinstaller -F -w main.spec |
运行结束后可在 dist
目录中找到生成的 main.exe
评论