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

Patricia Arquette
Lepaskan: 2024-10-22 22:39:29
asal
893 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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!