创建虚拟环境

  1. 安装虚拟环境包

    pip uninstall virtualenv
    pip uninstall virtualenvwrapper-win
    pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install virtualenvwrapper-win  -i https://pypi.tuna.tsinghua.edu.cn/simple
  2. 创建新的虚拟环境

    mkvirtualenv -p python3 py3-qt --no-download
    mkvirtualenv 虚拟环境名称
    rmvirtualenv gpt4 //删除虚拟环境
  3. 切换到指定的虚拟环境

    workon py3-qt
    deactivate //退出虚拟环境
  4. 安装pyqt5

    pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simple

PyQt5打包发布程序

  1. 正式发布程序
    在Windows 上只需要执行下面的命令,即可制作独立exe程序
    pyinstaller -F -w --hidden-import PyQt5.QtXml main.py

    这样就会在当前目录下产生一个名为 dist 的目录,可执行程序 main.exe 就在里面。
    --hidden-import PyQt5.QtXml 参数是因为这个 QtXml 库是动态导入,Pyinstaller 没法分析出来,需要我们手动指定
    最后,别忘了,把程序所需要的ui文件拷贝到打包目录中,因为PyInstaller只能分析出需要哪些代码文件。 而你的程序动态打开的资源文件,比如 图片、excel、ui这些,它是不会帮你打包的

  2. 程序图标
  • 添加主窗口图标
    程序运行的窗口,需要显示自己的图标,这样才更像一个正式的产品
    通过如下代码,我们可以把一个png图片文件作为 程序窗口图标
    from PyQt5.QtGui import QIcon
    app = QApplication([])
    # 加载 icon,使用QIcon导入主窗口图标
    app.setWindowIcon(QIcon("logo.png"))
    app.exec_()

    注意:这些图标png文件,在使用PyInstaller创建可执行程序时,也要拷贝到程序所在目录。否则可执行程序运行后不会显示图标

  • 应用程序图标
    应用程序图标是放在可执行程序里面的资源
    可以在PyInstaller创建可执行程序时,通过参数 --icon="logo.ico" 指定 或者 -i "logo.ico"
    pyinstaller -F -w --hidden-import PyQt5.QtXml --icon="logo.ico" main.py

    注意参数一定是存在的ico文件,不能是png等图片文件
    如果你只有png文件,可以通过在线的png转ico文件网站,生成ico,比如下面网站
    https://www.zamzar.com/convert/png-to-ico/
    注意:这些应用程序图标 ico 文件,在使用 PyInstaller 创建可执行程序时,不需要要拷贝到程序所在目录。因为它已经被嵌入可执行程序了