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の利点を大きく伸ばしている気がする。
まだまだバグは多いらしいが、その都度対応していかねば、、、
以上、お役に立てれば幸いです。
コメント