「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > サーバー上で Matplotlib を使用する際の「_tkinter.TclError: no display name and no $DISPLAY Environmental variable」エラーを解決する方法

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

2024 年 11 月 8 日に公開
ブラウズ:421

How to Resolve \

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

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

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

import matplotlib
matplotlib.use('Agg')

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

backend: Agg

これにより構成されますMatplotlib は、グラフィック表示を必要としない Agg バックエンドを使用します。

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

ssh -X remoteMachine

このコマンドを使用すると、Xwindows アプリケーションにリモートでアクセスできます。

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

export DISPLAY=mymachine.com:0.0

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

詳細については、Matplotlib FAQ を参照してください: https://matplotlib.org/faq/howto_faq.html#matplotlib-in -a-Web アプリケーション サーバー

リリースステートメント この記事は次の場所に転載されています: 1729601058 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3