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

Barbara Streisand
Lepaskan: 2024-10-22 21:02:02
asal
233 orang telah melayarinya

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>
Salin selepas log masuk

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
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan