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去掉):

  • 相关阅读:
    水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)
    grep
    hdu 4455 Substrings(计数)
    Concurrency Programming Guide 并发设计指引(二)
    ASP.NET 预编译命令(解决发布后第一次访问慢问题)
    将浏览页面变为可编辑状态
    windows系统上利用putty通过SSH连接亚马逊AWS服务器
    SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用
    非域环境下使用证书部署数据库(SqlServer2008R2)镜像
    遇到问题---hosts不起作用问题的解决方法
  • 原文地址:https://www.cnblogs.com/IaCorse/p/12024428.html
Copyright © 2011-2022 走看看