web-dev-qa-db-ja.com

pycharmでmatplotlibを使用中にエラー「Qtプラットフォームプラグインウィンドウを見つけられないか、ロードできませんでした」

PyCharmでmatplotlibを使用しているときに、「Qtプラットフォームプラグインウィンドウを見つけられないか、ロードできませんでした」というエラーが表示されます。

どうすれば解決できますか?

enter image description here

20
Daivik Paul

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)両方のプログラムの問題を修正しました。

19
cxxl

これは、PATH変数にMiKTeXバイナリが含まれていることが原因であることがわかりました。間違ったQt dllが見つかりました。 PATHエントリを再配置する必要がありました。

Dependency Walker はこのような便利なツールです。)

13
Richard Ayling

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
8

インストールされている場合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\
5
Osama Adly

Anaconda Promptで次のことを試しましたが、この問題は解決しました。

conda qtを削除

conda pyqtを削除

conda install qt

conda pyqtをインストールする

5
Shu Zhang

別の方法でmatplotlibを視覚化する場合は、グラフ、チャートなどを生成する別のバックエンドを使用します。

import matplotlib matplotlib.use('TKAgg')

これは私のために働いた。

4
rakidedigama

この問題を示すPycharmコンソールまたはデバッガーQtプラットフォームプラグインウィンドウを見つけられないか、ロードできませんでした

理由-Python exeファイルはPycharmインタープリターの別の場所にある場合があります。file、settings、interpreterで手動で選択できます。

解決 -

  1. 作業ディレクトリを設定します。ファイル->設定->ビルド、実行、展開->コンソール-> Pythonコンソール->作業ディレクトリ。すべてのコードが存在する親ディレクトリに設定します。

  2. [コントロールパネル]-> [システム設定]-> [システムの詳細設定]-> [環境変数]-> [新規]を開きます。変数名の設定:QT_PLUGIN_PATH、変数ディレクトリ:sers \\ Appdata\Local\Continuum\Anaconda2\Library\plugins

  3. Pycharmを再起動します。

4
Pranzell

私に合った解決策を見つけました。以下のリンクをたどってください。 このソリューションには、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 \」

2
Sourabh Desai

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

1
Daniel G

フォルダー\ Anaconda3\Library\plugins\platformsを\ $ \にコピーします。$はプロジェクトインタープリターフォルダー(例: "\ project\anaconda_env\Scripts \")を表します。これは、PyCharmがこのフォルダーではなくpython.exeを呼び出すためです\ Anaconda3に1つ。そして私の問題を解決します。

1
sontran

私の場合、WindowsでPyQt5を実行するために複数の問題がありました。 PyQt5のインポート時にDLLのロードに失敗しました

0
Orsiris de Jong

システム変数を追加するだけです:

QT_QPA_PLATFORM_PLUGIN_PATHおよびその値をC:\ Python34\Lib\site-packages\PyQt4\plugins\platformsに設定します

出来上がり。完了

0
kunjung sherpa

「Anaconda3\Library」(たとえば、私のコンピューターでは「S:\ Anaconda3\Library\plugins」)の「plugins」ファイルを.exeファイルの同じパスにコピーする必要がある場合があります。

0
C.Conley