Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan Ralat Tkinter: Tiada Nama Paparan dan Pembolehubah Persekitaran $DISPLAY?

Bagaimana untuk Membetulkan Ralat Tkinter: Tiada Nama Paparan dan Pembolehubah Persekitaran $DISPLAY?

Patricia Arquette
Lepaskan: 2024-10-22 22:39:29
asal
1060 orang telah melayarinya

How to Fix Tkinter Error: No Display Name and $DISPLAY Environment Variable?

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

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

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

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

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!

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