无法找到或加载Qt平台插件' windows'

时间:2017-11-27 04:58:16

标签: python-3.x qt pyqt5 pyinstaller static-linking

错误:

  

此应用程序无法启动,因为它无法找到或加载Qt平台插件" windows"   在" C:\ Users \ jsmith \ AppData \ Local \ Temp_MEI23522 \ qt5_plugins \ platforms"。

     

重新安装应用程序可能会解决此问题。

我的PyInstaller规范:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['test.py'],
             pathex=['C:\\Users\\admin\\compile'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)

pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='test',
          debug=False,
          strip=False,
          upx=False,
          runtime_tmpdir=None,
          console=False , icon='icon.ico')

所以我在使用最新版本的PyInstaller和pip编译我的PyQt5 5.8.2(使用Python 3.6.1)程序时遇到了这个问题,并且它工作正常!单文件可执行文件在编译它的计算机上运行。

但是当我在另一台没有设置好所有设备的计算机或虚拟机上进行测试时,它会在启动时因此错误而崩溃:

  

无法找到或加载Qt平台插件' windows'

所以这是我迄今为止所发现的。由于我在代码中设置了平台插件路径环境变量,因此它有路径(C:\Users\jsmith\AppData\Local\Temp\_MEI23522\qt5_plugins\platforms),我知道qwindows.dll在那里,因为我能够通过路径访问它在文件夹被自动删除之前(因为它在temp中)(我之前也做过onedir只是为了确保它在那里,它是)。那么这是否意味着它看到它却无法加载它,或者它是否是我失踪的其他东西?

此外,UPX已停用,即使在我的计算机上也是如此,因此问题并非如此。

顺便说一下,这不是重复的。我已经在SO上查找了类似的问题,所有这些问题都是针对不同类型的应用程序,或者解决方案是针对不同类型的问题。我已经到处寻找了好几天,并且没有找到解决方案。

请指导我。感谢。

0 个答案:

没有答案