Python pyqt崩溃的pyinstaller

Python pyqt崩溃的pyinstaller,python,pyqt,pyqt5,pyinstaller,Python,Pyqt,Pyqt5,Pyinstaller,我目前正在从事一个基于pyqt5 GUI的大型项目。通常,我使用pyinstaller将此项目的所有版本转换为.exe文件。不知怎的,从一天到另一天,这一切都不再起作用了。现在,当我创建一个可执行文件时,它显示控制台1秒钟,然后立即关闭,没有错误。所以我开始调查并发现pyqt5一定是引起问题的原因。我尝试将以下非常简单的GUI编译为可执行文件,与我的主项目发生的情况相同: from PyQt5 import QtWidgets import sys class MainWindow(QtWi

我目前正在从事一个基于pyqt5 GUI的大型项目。通常,我使用pyinstaller将此项目的所有版本转换为.exe文件。不知怎的,从一天到另一天,这一切都不再起作用了。现在,当我创建一个可执行文件时,它显示控制台1秒钟,然后立即关闭,没有错误。所以我开始调查并发现pyqt5一定是引起问题的原因。我尝试将以下非常简单的GUI编译为可执行文件,与我的主项目发生的情况相同:

from PyQt5 import QtWidgets

import sys

class MainWindow(QtWidgets.QMainWindow):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.setWindowTitle("Hello World")
        l = QtWidgets.QLabel("My simple app.")
        l.setMargin(10)
        self.setCentralWidget(l)
        self.show()

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    app.exec()
在一台计算机上编译完全相同的代码效果很好,所以我们将他的conda env导出到一个.yml文件,并将其克隆到我的计算机上,但即使使用他的env,我仍然无法获得一个可执行文件。我可以很好地运行他的exe。现在我没有主意了。我希望有人能帮我解决这个问题。例如:

x = input("enter a number")
print(x)
作为可执行文件运行良好。我还尝试编译我的项目的旧版本,它以前作为.exe运行良好,但没有成功

windows10 python==3.6.4 PyQt5==5.15.1 pyinstaller==4.0

编辑:

现在我发现,当我把它编译成单个文件而不是目录时,exe的速度稍微慢了一点,并且在几秒钟内出现了一个错误消息。因此,我在cmd中运行了exe,并得到以下错误消息:

Traceback (most recent call last):
File "test_env.py", line 1, in <module>
from PyQt5 import QtWidgets
ImportError: DLL load failed: The specific module could not be found.
[6996] Failed to execute script test_env
回溯(最近一次呼叫最后一次):
文件“test_env.py”,第1行,在
从PyQt5导入QtWidgets
ImportError:DLL加载失败:找不到特定模块。
[6996]无法执行脚本测试\u env

确保使用与安装的pyinstaller相同的python版本编译它。每当我使用另一个python版本的pyinstaller时,我都会遇到这种情况。此外,检查您的pip列表可能会帮助您解决问题经过多次尝试,我终于找到了解决方案。问题是,无论出于何种原因,pyinstaller都无法从pyqt打包所有必需的.dll。将“/Miniconda3/envs/env/Lib/site packages/PyQt5/Qt/bin”添加到pyinstaller--path”解决了我的问题。