ホームページ  >  記事  >  バックエンド開発  >  Matplotlib の「表示名も $DISPLAY 環境変数もありません」エラーを修正する方法

Matplotlib の「表示名も $DISPLAY 環境変数もありません」エラーを修正する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-22 21:02:02153ブラウズ

How to Fix the

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

このエラーは、データ視覚化用の Python ライブラリである Matplotlib が次のことを試みたときに発生します。グラフィック出力を必要とするバックエンドを使用しますが、有効な表示環境が見つかりません。

Matplotlib はデフォルトで Xwindows バックエンドを使用します。これには、X サーバーと $DISPLAY 環境変数を設定する必要があります。指定されたシナリオでは、エラーは、Python スクリプトが実行されているサーバーで表示名も $DISPLAY 変数も使用できないことを示しています。

解決策:

この問題を解決するには、グラフィカル出力を必要としない非対話型バックエンドを使用するように Matplotlib を設定します。 matplotlib をインポートする前に、スクリプトの先頭に次の行を追加します。

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

これにより、Agg バックエンドを使用するように Matplotlib が構成されます。Agg バックエンドは、次のようなファイル形式で出力を生成する非対話型バックエンドです。 PNG または PDF として保存できます。

または、次の行を .config/matplotlib/matplotlibrc ファイルに追加して、非対話型バックエンドをデフォルトにすることもできます。

backend: Agg

リモート マシンで X サーバーが使用できる場合は、次の SSH コマンドを使用して X11 接続を転送できます:

<code class="bash">ssh -X remoteMachine.com</code>

これにより、リモート マシンに $DISPLAY 環境変数が設定され、Matplotlib が Xwindows バックエンドを使用できるようになります。 .

最後に、$DISPLAY 変数を手動でエクスポートしてみることができます。

<code class="bash">export DISPLAY=mymachine.com:0.0</code>

これにより、$DISPLAY 変数が指定されたリモート マシンとディスプレイ番号に設定されます。

このエラーと考えられる解決策の詳細については、Matplotlib ドキュメントを参照してください: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

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

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