Help us understand the problem. What is going on with this article?

WSLのpython環境でGUI周りではまったこと

はじめに

先日wslにpython環境を構築したばかりで,GUIを含んだプログラムを実行していなかったので試しに実行してみたところ,エラーで詰まったのでその対処を備忘録として残します.

実行したプログラムの概要

実行しようとしてはまったのはPyQt5を使用したGUIプログラムです.matplotlibによる描画も含んでいます.
Anaconda環境では何の追加設定もなしに実行可能なプログラムになっています.

エラーの内容

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
プログラムを実行したところ上記のエラーが出ました.

調べると同じような状況に遭遇した方がいました.
`qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.` というエラーが起きたときの対処 - Qiita

やったこと

下記を実行しました.

sudo apt install libxkbcommon-x11-0

※ 上記記事には~/.bashrcにexport QT_DEBUG_PLUGINS=1を記載するよう書いていますが,これはデバッグ用のものなので不要です.

ただこれの実行前に,以下を実施しています.

  • Qt, PyQt5, SIPをインストールした.(プログラムがPyQt5を使用しているようだったため,これらをインストールした.)
  • tkinterとXserverをインストールし,表示先ディスプレイの設定をした.(wslのUbuntuにはGUI機能がないため,matplotlibの描画やQtのGUI画面の表示に必要)1

matplotlibなどのGUIを含むプログラム実行時には,Xserverを起動している必要があります.起動せずに実行すると,以下のエラーが出ます.

qt.qpa.xcb: could not connect to display :0.0 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

Aborted (core dumped) 

もしかしたら不要な部分があるかもしれませんが,僕の場合はこれで解決できました.ご参考まで.

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away