欢迎访问我的网站与公众号!点击与扫码即可进入,谢谢关注!

安装

pip install pyinstaller

配置文件

通常pip安装会失败

whl安装
  1. https://www.lfd.uci.edu/~gohlke/pythonlibs/下载whl
  2. pip install xxx.whl
官网下载
  1. 去pyisntaller官网下载http://www.pyinstaller.org/downloads.html
  2. 解压,进入目录,python setup.py install,顺序不要错

遇到的问题:

项目引用ui,打包是会出现unable to open/read ui device

解决方案(两者解决方法):

  1. 打包完成后,复制ui文件夹到打包目录,可正常读取 ********
  2. 将ui转换成py文件

pyinstaller打包命令

pyinstaller index.py --workpath xxx --distpath xxx

  1. workpath 制作过程中临时文件的存放目录(省略为index.py同级目录)
  2. distpath 最终可执行文件目录所在的父目录(省略为index.py同级目录)
  3. 打包完成运行可执行文件,运行出现 could not import module 'PySide2.QtXml' 的错误
    命令后面加上--hidden-import PySide2.QtXml
  4. 常用小文件: pyinstaller index.py -F --noconsole --hidden-import PySide2.QtXml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    -F,-onefile 产生单个可执行文件
    -D, -onedir 产生一个目录(包含多个文件)作为可执行程序
    -a,--ascii 不包含 Unicode 字符集支持
    -d,--debug 产生 debug 版本的可执行文件
    -w,--windowed,--noconsole 指定程序运行时不显示命令行窗口(仅对 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 的名字