1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pyplot・seabornをインポートしたときに応答がない問題

Last updated at Posted at 2021-08-09

はじめに

python3にて、matplotlib.pyplotおよびseabornをインポートしようとしたところ、エラー等が出ないうえに、出力も応答しないといった状況が発生しました。
#環境
wsl2
Ubuntu 20.04.2
GUI - VcXsrv

#やったこと
こちらのサイトにおける、VcXsrvの自動起動設定およびWSL上のディスプレイの設定のセクションを参考にしてwsl環境でのディスプレイ設定を行いました。ありがとうございます。
https://qiita.com/ryoi084/items/0dff11134592d0bb895c

VcXsrvのPC起動時の自動起動方法については説明を割愛します。

wsl環境下でのディスプレイ設定を行うにあったって、コマンドプロンプトを起動し、ipconfigコマンドを実行、イーサネット(wsl)のIPv4アドレスをコピーします。

~/.bashrcに以下のように加筆していきます。aaa~dddにはipconfigにてコピーしたIPアドレスが入ります。

.bashrc
export DISPLAY=aaa.bbb.ccc.ddd:0

そして、wslを再起動、ここまでやってみました。
#依然としてトラブルが起こったが解決した
以上のことをやってみましたが、解決できるとき・できないときがありました。

コマンドにてexport DISPLAY=aaa.bbb.ccc.ddd:0と実行したときに解決できたので、おそらく起動時のDISPLAYのアドレス設定に間違った値が入っているのではないかと考えました。

そこで、wslを再起動し、printenv DISPLAYでDISPLAYのパスを確認したところ、

8.8.8.8:0

このように表示されました。原因がわかりました。

以前、wslのプロキシ設定の際、DNSサーバーの設定でうまくいかなかったとき、とりあえず/etc/resolv.confをgoogleのDNSを用いてnameserver 8.8.8.8にしておりました。

どういう理由かわかりませんが、この/etc/resolv.confを参照してDISPLAYを設定していたため、VcXsrvへのパスが通らなかったと予想されます。

ということで、/etc/resolv.confを以下のように直しました。

/etc/resolv.conf
nameserver aaa.bbb.ccc.ddd

wslを再起動し、再度python3にてmatplotlib.pyplotおよびseabornをインポートしたところ、安定して応答がみられました。

以上で今回のトラブルとその解決方法でした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?