Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Ralat \"Tiada Nama Paparan dan Tiada Pembolehubah Persekitaran $DISPLAY\" dalam Matplotlib?

Bagaimana untuk Membetulkan Ralat \"Tiada Nama Paparan dan Tiada Pembolehubah Persekitaran $DISPLAY\" dalam Matplotlib?

Barbara Streisand
Barbara Streisandasal
2024-10-22 21:02:02153semak imbas

How to Fix the

Ralat: tiada nama paparan dan tiada pembolehubah persekitaran $DISPLAY

Ralat ini berlaku apabila Matplotlib, perpustakaan Python untuk visualisasi data, cuba untuk gunakan bahagian belakang yang memerlukan output grafik tetapi tidak dapat mencari persekitaran paparan yang sah.

Matplotlib lalai menggunakan bahagian belakang Xwindows, yang memerlukan pelayan X dan pembolehubah persekitaran $DISPLAY untuk ditetapkan. Dalam senario yang diberikan, ralat menunjukkan bahawa nama paparan mahupun pembolehubah $DISPLAY tidak tersedia pada pelayan tempat skrip Python sedang dilaksanakan.

Penyelesaian:

Untuk menyelesaikan isu ini, anda boleh menetapkan Matplotlib untuk menggunakan bahagian belakang bukan interaktif yang tidak memerlukan output grafik. Tambahkan baris berikut pada permulaan skrip anda, sebelum mengimport matplotlib:

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

Ini akan mengkonfigurasi Matplotlib untuk menggunakan bahagian belakang Agg, iaitu bahagian belakang bukan interaktif yang menjana output dalam format fail, seperti sebagai PNG atau PDF.

Sebagai alternatif, anda boleh menambah baris berikut pada fail .config/matplotlib/matplotlibrc anda untuk menjadikan hujung belakang tidak interaktif sebagai lalai:

backend: Agg

Jika anda mempunyai pelayan X tersedia pada mesin jauh, anda boleh menggunakan arahan SSH berikut untuk memajukan sambungan X11:

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

Ini akan menetapkan pembolehubah persekitaran $DISPLAY pada mesin jauh, membenarkan Matplotlib menggunakan hujung belakang Xwindows .

Akhir sekali, anda boleh cuba mengeksport pembolehubah $DISPLAY secara manual:

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

Ini akan menetapkan pembolehubah $DISPLAY kepada mesin jauh dan nombor paparan yang ditentukan.

Untuk mendapatkan maklumat lanjut tentang ralat ini dan kemungkinan penyelesaian, rujuk dokumentasi Matplotlib: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \"Tiada Nama Paparan dan Tiada Pembolehubah Persekitaran $DISPLAY\" dalam Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn