zoukankan      html  css  js  c++  java
  • PySide2的This application failed to start because no Qt platform plugin could be initialized解决方式

    解决PySide2的This application failed to start because no Qt platform plugin could be initialized问题

    今天在装pyside2的时候心路历程可谓是十分艰辛了,好在最后都解决了。

    首先是pip install时一直retrying的问题,与之同时发生的还有win10的手动设置代理一直打开,经过一系列搜索解决方法无果,最后我想起来之前使用ssr时因为代理没有效果删除了,删除前的一系列设置可能对这个有一定的影响,然后就又下载了回来,搞定了代理后pip就完全ok了。

    之后就是标题所写的pyside2进行gui窗口编程时发生的错误了,同样经过了一系列的搜索折磨,最后在不停地吐槽国内博客转来转去找不到几个原创的答案之中,最后搜了下stackoverflow,然后就解决了。

    总结一下思路:国内博客中通常是修改环境变量,这点是完全没问题的,但是由于国内博客大多写的是pyqt而不是pyside2,所以配置环境变量有所区别。

    其实解决问题的方法也是配置环境变量,只不过路径不能只写到plugin,而要把platform也加入进去,当然也可以在每次编程时先加入这段代码再继续自己的代码:

    import sys,os
    import PySide2
    
    dirname = os.path.dirname(PySide2.__file__)
    plugin_path = os.path.join(dirname, 'plugins', 'platforms')
    os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
    

    如果想要一劳永逸,那么就多打一条print看一下pyside2安装目录:

    import sys,os
    import PySide2
    
    dirname = os.path.dirname(PySide2.__file__)
    plugin_path = os.path.join(dirname, 'plugins', 'platforms')
    os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
    print(plugin_path)
    

    把输出获得的路径复制一下(第二行):

    然后在环境变量中配置一下就可以了:

    但配置环境还是有可能不行,那么有一个办法是基本可行的,也就是改包根目录下的__init__文件,在注释前加上上面的那串代码就可以(注意要把PySide2去掉):

  • 相关阅读:
    SDOI2011古代朱文
    LIS 堆优化
    ZR2019 广州 游记
    LG2709 小B的询问
    [SCOI2009] 生日礼物
    [SDOI2008]沙拉公主的困惑
    [LG3396]哈希冲突
    ZROI2018.8.2 菜鸡互啄杯组队 ACM 赛
    ZROI 菜鸡互啄杯 III
    [LG4016] 负载平衡问题
  • 原文地址:https://www.cnblogs.com/IaCorse/p/12024428.html
Copyright © 2011-2022 走看看