写了一个简单的相机控制程序,用的是pyqt5,所以用pyinstaller生成exe。但在使用命令行运行exe文件时,在特定情况下会发生无报错闪退问题(一定要在命令行运行)。使用pyinstaller debug==all .py生成的exe在运行时也没发现问题。也去github、stackexchange包括本平台翻了很多解决方案都没有用。
最后在一点点修改代码时发现,由于控制相机需要一个特定的pkg,这个pkg与最新版numpy不兼容,所以envs中装的是numpy==1.26.4; 而用的pyinstaller是最新版的6.11.1,两者不仅不兼容,还会出现无报错问题。
解决方案:将pyinstaller降版本至6.7.0即可(这个版本是乱找的,但在本案例中可行)