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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM