Bagaimana untuk Menyelesaikan \'_tkinter.TclError: tiada nama paparan dan tiada $DISPLAY environment variable\' Ralat Semasa Menggunakan Matplotlib pada Pelayan?

DDD
Lepaskan: 2024-10-22 20:50:29
asal
119 orang telah melayarinya

How to Resolve

Menyelesaikan "_tkinter.TclError: tiada nama paparan dan tiada pembolehubah persekitaran $DISPLAY" Ralat

Apabila melaksanakan skrip Python yang melibatkan Matplotlib pada pelayan, anda mungkin menghadapi ralat "_tkinter.TclError: tiada nama paparan dan tiada pembolehubah persekitaran $DISPLAY." Ralat ini timbul kerana Matplotlib lalai menggunakan bahagian belakang Xwindows, yang memerlukan persekitaran paparan grafik. Walau bagaimanapun, persekitaran pelayan sering kekurangan keupayaan ini.

Untuk menangani isu ini, anda boleh mengarahkan Matplotlib untuk menggunakan bahagian belakang bukan interaktif. Masukkan kod berikut pada permulaan skrip anda, sebelum mengimport pyplot:

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

Sebagai alternatif, anda boleh menambah baris berikut pada fail .config/matplotlib/matplotlibrc:

backend: Agg
Salin selepas log masuk

Ini akan mengkonfigurasi Matplotlib untuk menggunakan hujung belakang Agg, yang tidak memerlukan paparan grafik.

Pilihan lain ialah menggunakan ssh dengan pemajuan X11:

ssh -X remoteMachine
Salin selepas log masuk

Arahan ini membolehkan anda mengakses Aplikasi Xwindows dari jauh.

Akhir sekali, anda boleh menetapkan pembolehubah persekitaran DISPLAY:

<code class="bash">export DISPLAY=mymachine.com:0.0</code>
Salin selepas log masuk

Dengan menyatakan nama paparan yang sah, Matplotlib akan dapat menyambung ke paparan grafik pada mesin lain.

Untuk maklumat lanjut, rujuk Soalan Lazim Matplotlib: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'_tkinter.TclError: tiada nama paparan dan tiada $DISPLAY environment variable\' Ralat Semasa Menggunakan Matplotlib pada Pelayan?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!