Python PyQt5-未能加载平台插件;windows";。可用的平台有:windows,minimal
当我试图从Eclipse运行任何PyQt5程序时,我遇到了这个错误 无法加载平台插件“windows”。可用的平台有:windows,minimal 我从未在PyQt4中遇到过这个问题,但在新版本中遇到了这个问题 我不能运行程序。从这里的其他问题我知道它发生在Qt C++开发中,解决方案是将一些QT DLL文件拷贝到可执行程序目录。Python PyQt5-未能加载平台插件;windows";。可用的平台有:windows,minimal,python,pyqt,pyqt5,Python,Pyqt,Pyqt5,当我试图从Eclipse运行任何PyQt5程序时,我遇到了这个错误 无法加载平台插件“windows”。可用的平台有:windows,minimal 我从未在PyQt4中遇到过这个问题,但在新版本中遇到了这个问题 我不能运行程序。从这里的其他问题我知道它发生在Qt C++开发中,解决方案是将一些QT DLL文件拷贝到可执行程序目录。 os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = qt_platform_plugins_path 在Python开发(Py
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = qt_platform_plugins_path
在Python开发(PyQt5)中也需要这样做吗?是否将这些文件添加到my*.py文件所在的目录?这不应该由PyQt5安装管理吗
谢谢我在PyQt5 5.0.2、Windows 8、Python 3.3.2中遇到了这个问题;稍有不同的错误消息:
加载平台插件“windows”失败。可用的平台有:
设置以下环境变量,然后运行应用程序
$env:QT\u QPA\u PLATFORM\u PLUGIN\u PATH=“C:\Python33\Lib\site packages\PyQt5\plugins\platforms”
将C:\Python34\Lib\site packages\PyQt5\libEGL.dll复制到与.exe相同的目录中
来源:我发现需要包含文件:qwindows.dll,以允许我的.exe文件独立运行而不会出现错误。为此,请将qwindows.dll路径添加到数据文件列表中:
setup(windows=[YOURSCRIPT.py]
, data_files = [('.','DRIVE:\PythonPath\Lib\site-packages\PyQt4\plugings\platforms\qwindows.dll')])
您这样做并设置环境路径的原因是,如果qwindows.dll文件保存在同一个包中,那么您的程序将在任何计算机上运行。如果只设置环境变量,则该程序只能在安装了PyQt的计算机上成功运行 另一个适合我的解决方案;视窗7;PyQt5,Python 3.4 64位:
pyqt = os.path.dirname(PyQt5.__file__)
QApplication.addLibraryPath(os.path.join(pyqt, "plugins"))
您还可以使用plugins
目录的路径设置环境变量QT\u QPA\u PLATFORM\u PLUGIN\u PATH
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = qt_platform_plugins_path
这也适用于PyInstaller 使用cx\u freeze
编译代码时,我遇到了类似的问题
将文件夹platforms从python安装目录复制到我的构建文件夹中,解决了这个问题。“platforms”文件夹包含qminimal.dll我喜欢uetoyo的答案,但Anaconda已经移动了目录。这对我来说适用于Windows7上的Python 3.5.2 Anaconda4.2.0
import os
if os.name == "nt": # if windows
import PyQt5
pyqt_plugins = os.path.join(os.path.dirname(PyQt5.__file__),
"..", "..", "..", "Library", "plugins")
QApplication.addLibraryPath(pyqt_plugins)
这就是我在使用Anaconda Python 3.6发行版时所做的工作:
我使用pip安装PyQt5
安装了PyQt5。它的作用是在。/Anaconda3/Lib/site packages/PyQt5
路径中创建一个Qt/Plugins
Plugins目录
继Roger Allen和uetoyo之后,我补充道:
如果os.name==“nt”:#如果windows
从PyQt5导入\uuuu文件__
pyqt_plugins=os.path.join(os.path.dirname(_文件);“Qt”,“plugins”)
QApplication.addLibraryPath(pyqt_插件)
os.environ['QT\u QPA\u平台\u插件\u路径']=pyqt\u插件
我的剧本。它也可以与pyinstaller一起使用。如果您使用PySide2,您可以使用此选项进行检查
import os
if os.name == 'nt':
import PySide2
pyqt = os.path.dirname(PySide2.__file__)
QApplication.addLibraryPath(os.path.join(pyqt, "plugins"))
太棒了,您是如何找到此变量的?您应该解释如何设置该env变量。这仅在您首先“导入PyQt5”时有效。当然,在调用PyQt
之前,必须导入它。感谢您的提示!我正在使用cx_freeze打包我的pyqt5可执行文件。我发现我可以在选项中添加“include_files”,其中包括platforms文件夹。然后它就可以工作了。