WSL2 でSpyderIDEをインストールすると動かない問題を解決

WSL2でSpyderが動かない

環境としては

Windows11

WSL2 + Ubuntu18.04 LTS

Anaconda環境にてSpyderをインストール

という感じ。

この状況でspyderを起動すると

$ spyder &

(venv01) uname@laptop:~$ Traceback (most recent call last):
  File "/home/uname/anaconda3/envs/venv01/lib/python3.7/site-packages/qtpy/QtWebEngineWidgets.py", line 21, in <module>
    from PyQt5.QtWebEngineWidgets import QWebEnginePage
ImportError: libXss.so.1: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/uname/anaconda3/envs/venv01/bin/spyder", line 11, in <module>
    sys.exit(main())
  File "/home/uname/anaconda3/envs/venv01/lib/python3.7/site-packages/spyder/app/start.py", line 233, in main
    from spyder.app import mainwindow
  File "/home/uname/anaconda3/envs/venv01/lib/python3.7/site-packages/spyder/app/mainwindow.py", line 59, in <module>
    from qtpy import QtWebEngineWidgets  # analysis:ignore
  File "/home/uname/anaconda3/envs/venv01/lib/python3.7/site-packages/qtpy/QtWebEngineWidgets.py", line 27, in <module>
    from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'

と、こんな感じでエラーが出る。

いろいろ調べてPyQt5だったりpyqtwebengineをインストールし直せというアドバイスもあり試したがうまくいかなかった。

解決策

PyQt5やpyqtwebengineではなかった

しかし、以下の方法を試したら動くようになった。

$ sudo apt install libxss1
$ sudo apt install libasound2

エラーが複数出ていたため見逃していたが、pythonパッケージ以外に別のアプリケーションが必要だったらしい。

どのサイトをみてもPyQt5のバージョンやらに言及していることが多い上に、そもそもWSL上でGUIを動かすというのが現時点ではまだ少数派ということもあり情報が不完全だったようだ。

Windows11からはWSLでXディスプレイとかを別に用意しなくても一応GUIが使えるようになったため各段と使いやすくなったのは本当に助かる。

さすがに実行速度などはネイティブのLinuxが早いが、業務上Windowsのほうがほかの作業がしやすいし、VirtualBoxとかその辺の仮想環境は重過ぎるし、WSLの成長はWindowsの利点を大きく伸ばしている気がする。

まだまだバグは多いらしいが、その都度対応していかねば、、、

以上、お役に立てれば幸いです。

コメント

タイトルとURLをコピーしました