ホームページ >バックエンド開発 >Python チュートリアル >Tkinter エラーを修正する方法: 表示名と $DISPLAY 環境変数がありません。
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 サイトの他の関連記事を参照してください。