ホームページ >バックエンド開発 >Python チュートリアル >Tkinter エラーを修正する方法: 表示名と $DISPLAY 環境変数がありません。

Tkinter エラーを修正する方法: 表示名と $DISPLAY 環境変数がありません。

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-22 22:39:29972ブラウズ

How to Fix Tkinter Error: No Display Name and $DISPLAY Environment Variable?

Tkinter エラー: 表示名と $DISPLAY 環境変数がありません

エラー「_tkinter.TclError: 表示名と $DISPLAY 環境がありません」 variable_" は、X-window システムのないサーバー上で matplotlib を使用して Python スクリプトを実行すると発生します。 Xwindows は、matplotlib のデフォルトの Tkinter バックエンドに必要なグラフィカル ユーザー インターフェイス (GUI) システムです。

解決策:

この問題を解決するには、matplotlib に次のバックエンドを使用するように指示します。非 GUI 環境と互換性があります。これを実現するには、いくつかの方法があります。

1. 'Agg' バックエンドを使用します:

pyplot をインポートする前に、スクリプトの先頭に次の行を追加します:

<code class="python">import matplotlib
matplotlib.use('Agg')</code>

これにより、matplotlib バックエンドが Agg に設定されます。 - グラフィカル表示を必要とせずに画像を生成するのに適した対話型バックエンド。

2. Set Matplotlib Configuration:

次の行を ~/.config/matplotlib/matplotlibrc 構成ファイルに追加します:

backend: Agg

これにより、matplotlib にデフォルトで Agg バックエンドを使用するように指示されます。すべてのスクリプト用。

3. X 転送で SSH を使用する:

SSH を使用してサーバーに接続する場合、-X オプションを使用して X 転送を有効にします:

ssh -X remoteMachine

これにより、スクリプトで次のことが可能になります。ローカル マシンの GUI にアクセスします。

4. DISPLAY 変数のエクスポート:

ホスト マシンの IP アドレスとディスプレイ番号を指すように DISPLAY 変数をエクスポート:

export DISPLAY=mymachine.com:0.0

詳細情報:

非対話型環境での matplotlib の使用の詳細については、matplotlib FAQ を参照してください: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

以上がTkinter エラーを修正する方法: 表示名と $DISPLAY 環境変数がありません。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。