Ralat Tkinter: Tiada Nama Paparan dan Pembolehubah Persekitaran $DISPLAY
Ralat "_tkinter.TclError: tiada nama paparan dan tiada persekitaran $DISPLAY variable_" berlaku apabila menjalankan skrip Python menggunakan matplotlib pada pelayan tanpa sistem X-window. Xwindows ialah sistem antara muka pengguna grafik (GUI) yang diperlukan oleh bahagian belakang Tkinter lalai matplotlib.
Penyelesaian:
Untuk menyelesaikan isu ini, arahkan matplotlib untuk menggunakan bahagian belakang iaitu serasi dengan persekitaran bukan GUI. Terdapat beberapa cara untuk mencapai matlamat ini:
1. Gunakan Bahagian Belakang 'Agg':
Tambah baris berikut pada permulaan skrip anda sebelum mengimport pyplot:
<code class="python">import matplotlib matplotlib.use('Agg')</code>
Ini menetapkan hujung belakang matplotlib kepada Agg, yang bukan -belakang interaktif sesuai untuk menjana imej tanpa memerlukan paparan grafik.
2. Tetapkan Konfigurasi Matplotlib:
Tambah baris berikut pada fail konfigurasi ~/.config/matplotlib/matplotlibrc:
backend: Agg
Ini akan mengarahkan matplotlib menggunakan hujung belakang Agg secara lalai untuk semua skrip.
3. Gunakan SSH dengan X-Forwarding:
Apabila menyambung ke pelayan menggunakan SSH, gunakan pilihan -X untuk mendayakan X-forwarding:
ssh -X remoteMachine
Ini akan membenarkan skrip untuk akses GUI pada mesin tempatan anda.
4. Eksport Pembolehubah PAPARAN:
Eksport pembolehubah DISPLAY untuk menunjuk ke alamat IP dan nombor paparan mesin hos:
export DISPLAY=mymachine.com:0.0
Maklumat Lanjut:
Untuk butiran lanjut tentang menggunakan matplotlib dalam persekitaran bukan interaktif, rujuk FAQ matplotlib: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Tkinter: Tiada Nama Paparan dan Pembolehubah Persekitaran $DISPLAY?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!