Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
Patricia Arquetteasal
2024-10-22 22:39:29894semak imbas

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>

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!

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