项目中需要编写一个简单的类似计算器的软件,因为需要画图。所以先使用了matlab,一来要收费,二来需要安装依赖包,有点大,所以就想采用开源的pyqt加pyqtgraph。
经过一系列曲折的过程,有了个大概的初稿,就想生成一个exe文件试一下。结果也是状况频出,最后只能放弃。
在CMD中转到要生成EXE的文件目录,运行pyinstaller -F xx.py
结果出现错误,如下所示。
按照https://blog.youkuaiyun.com/chang995196962/article/details/84974175中的提示进行操作。
首先找到pyqt5qmlplugin.dll的位置。
C:\Program Files\Python38\Lib\site-packages\pyqt5_plugins\Qt\plugins
添加到环境变量(这个是试验)后重新实验。未果。
提示的文件中并没有plugins文件夹。直接将Qt\plugins文件夹拷到miktex/bin文件夹中,再来。
成功了。但打开exe文件的时候闪退。不知何故。
参考https://www.cnblogs.com/slowcity/p/11663156.html中介绍,使用非窗口模式时依然会闪退,但使用tkinter就不会闪退!
闪退的时候,都看不清提示。但如果在CMD中打开EXE文件就可以。
将Qt\plugins换成Qt6的也是同样的错误。
继续实验,首先按照网上的修改文件,在第一行加入
from PyQt6 import sip
重新生成exe。
在生成过程中,只找PyQt5相关的文件,没有看到PyQt6相关的链接。但在笔记本上使用PyQt5时,会出现分辨率的问题。所以,放弃PyQt吧!
使用pyside6做了一处简单的hello world程序,居然成功了。换个坑试一试吧。
https://blog.youkuaiyun.com/wdglo/article/details/115290297
正如上文所说,需要将plugins、translations和qt.conf拷贝到dist文件夹中,即可。不知道后面还有啥状况,试试再说吧。