サーバー上で Matplotlib を使用する際の「_tkinter.TclError: no display name and no $DISPLAY Environmental variable」エラーを解決する方法

DDD
リリース: 2024-10-22 20:50:29
オリジナル
171 人が閲覧しました

How to Resolve

「_tkinter.TclError: 表示名と $DISPLAY 環境変数がありません」エラーの解決

サーバー上で Matplotlib に関連する Python スクリプトを実行すると、エラー「_tkinter.TclError: 表示名も $DISPLAY 環境変数もありません。」このエラーは、Matplotlib がデフォルトで Xwindows バックエンドを使用するため、グラフィカル表示環境が必要となるために発生します。ただし、サーバー環境にはこの機能が欠けていることがよくあります。

この問題に対処するには、代わりに非対話型バックエンドを使用するように Matplotlib に指示できます。 pyplot をインポートする前に、スクリプトの先頭に次のコードを挿入します:

<code class="python">import matplotlib
matplotlib.use('Agg')</code>
ログイン後にコピー

または、次の行を .config/matplotlib/matplotlibrc ファイルに追加できます:

backend: Agg
ログイン後にコピー

これにより、グラフィカル表示を必要としない Agg バックエンドを使用するように Matplotlib が設定されます。

別のオプションは、X11 転送で ssh を使用することです:

ssh -X remoteMachine
ログイン後にコピー

このコマンドにより、次のアクセスが可能になります。 Xwindows アプリケーションをリモートで実行します。

最後に、DISPLAY 環境変数を設定できます。

<code class="bash">export DISPLAY=mymachine.com:0.0</code>
ログイン後にコピー

有効な表示名を指定すると、Matplotlib は別のマシン上のグラフィカル ディスプレイに接続できるようになります。

詳細については、Matplotlib FAQ を参照してください: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

以上がサーバー上で Matplotlib を使用する際の「_tkinter.TclError: no display name and no $DISPLAY Environmental variable」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート