PyCharmでmatplotlibを使用しているときに、「Qtプラットフォームプラグインウィンドウを見つけられないか、ロードできませんでした」というエラーが表示されます。
どうすれば解決できますか?
Anaconda3 4.2.0および4.3.0.1(64ビット)でも同じ問題が発生しました。 matplotlibを使用する簡単なプログラムを実行しようとすると、次のエラーメッセージが表示されました。
This application failed to start because it could not find or load the Qt platform plugin "windows"
Reinstalling the application may fix this problem.
再インストールしても修正されませんでした。
これが役に立ちました(見つかった here ):Anacondaディレクトリを探し、Library\plugins
subdir(ここでc:\ProgramData\Anaconda3\Library\plugins
)環境変数としてQT_PLUGIN_PATH
[コントロールパネル]、[システム]、[システムの詳細設定]、[環境変数]。
変数を設定した後、変更がすぐに反映されない場合は、PyCharmを再起動する必要があります。
ほら!
更新:その後もコマンドラインPythonは機能しましたが、TexWorks(Qtも使用))はエラーを表示しましたよく似たメッセージです。QT_PLUGIN_PATH
TexWorksのQt DLLを含むディレクトリ(ここC:\Users\chris\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64
)両方のプログラムの問題を修正しました。
これは、PATH変数にMiKTeXバイナリが含まれていることが原因であることがわかりました。間違ったQt dllが見つかりました。 PATHエントリを再配置する必要がありました。
( Dependency Walker はこのような便利なツールです。)
PyCharmでも同様の問題があり、メイン実行では問題なく動作しましたが、デバッガーではうまく動作せず、同じエラーメッセージが表示されました。これは、Anacondaインストールを別のディレクトリに移動したために起こりました。デバッガーは、pythonと同じ場所にあるqt.confファイルを確認します。この場所は、import sys; print sys.executable
。この解決策はウェブ検索の山から見つけたもので、深く埋められていました ここ 。 qt.confファイルには、デバッガーが機能するための正しいパスが必要です。
私のqt.confファイルはメモ帳では次のようになります。
[Paths]
Prefix = E:/python/Anaconda3_py35/Library
Binaries = E:/python/Anaconda3_py35/Library/bin
Libraries = E:/python/Anaconda3_py35/Library/lib
Headers = E:/python/Anaconda3_py35/Library/include/qt
インストールされている場合PyQt5
およびPySide2
、問題を解決しました
次のファイルをコピーします
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qminimal.dll
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qoffscreen.dll
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qwindows.dll
に
\Anaconda3\Library\plugins\platforms\
Anaconda Promptで次のことを試しましたが、この問題は解決しました。
conda qtを削除
conda pyqtを削除
conda install qt
conda pyqtをインストールする
別の方法でmatplotlibを視覚化する場合は、グラフ、チャートなどを生成する別のバックエンドを使用します。
import matplotlib matplotlib.use('TKAgg')
これは私のために働いた。
この問題を示すPycharmコンソールまたはデバッガーQtプラットフォームプラグインウィンドウを見つけられないか、ロードできませんでした
理由-Python exeファイルはPycharmインタープリターの別の場所にある場合があります。file、settings、interpreterで手動で選択できます。
解決 -
作業ディレクトリを設定します。ファイル->設定->ビルド、実行、展開->コンソール-> Pythonコンソール->作業ディレクトリ。すべてのコードが存在する親ディレクトリに設定します。
[コントロールパネル]-> [システム設定]-> [システムの詳細設定]-> [環境変数]-> [新規]を開きます。変数名の設定:QT_PLUGIN_PATH、変数ディレクトリ:sers \\ Appdata\Local\Continuum\Anaconda2\Library\plugins
Pycharmを再起動します。
私に合った解決策を見つけました。以下のリンクをたどってください。 このソリューションには、Pyside2またはPyQt5パッケージからモジュールをインポートする前に追加するコードスニペットが含まれています。
コードスニペット(リンクでも利用可能)
import 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
from PySide2.QtWidgets import *
'''
Your code goes here
'''
このソリューションは、PyQt5およびPySide2モジュールで機能します。関係があるかどうかはわかりませんが、以前にシステムにQT_PLUGIN_PATH環境変数を追加しました。
上記のソリューションにより、IDLEでPySide2スクリプトをテストできました。ただし、バンドルされたスクリプト(exe)を実行しようとすると、同じエラーログに直面しました。いくつかの浅いデバッグでは、プラグインフォルダー自体が欠落していることが明らかです。適切な場所にプラグインフォルダーを追加して、問題を修正しました。 「C:\ Users\xxxx.spyder-py3\My_QtProjects\Project 1\dist\MyQt_1\PySide2 \」
Windows
1- plastformsフォルダーをコピーします:C:\ Users \%USERNAME%\ AppData\Roaming\pyinstaller\bincache00_py35_64bit\pyqt5\qt\plugins\platforms
2-フォルダープラットフォームをファイル.exeのフォルダーの場所に貼り付けます
例:c:\ MyFolder\yourFile.exe c:\ MyFolder\platforms
フォルダー\ Anaconda3\Library\plugins\platformsを\ $ \にコピーします。$はプロジェクトインタープリターフォルダー(例: "\ project\anaconda_env\Scripts \")を表します。これは、PyCharmがこのフォルダーではなくpython.exeを呼び出すためです\ Anaconda3に1つ。そして私の問題を解決します。
私の場合、WindowsでPyQt5を実行するために複数の問題がありました。 PyQt5のインポート時にDLLのロードに失敗しました
システム変数を追加するだけです:
QT_QPA_PLATFORM_PLUGIN_PATHおよびその値をC:\ Python34\Lib\site-packages\PyQt4\plugins\platformsに設定します
出来上がり。完了
「Anaconda3\Library」(たとえば、私のコンピューターでは「S:\ Anaconda3\Library\plugins」)の「plugins」ファイルを.exeファイルの同じパスにコピーする必要がある場合があります。