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

Susan Sarandon
Lepaskan: 2024-10-23 00:14:03
asal
541 orang telah melayarinya

How to Solve the

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

Isu

Skrip Python menggunakan Matplotlib gagal pada pelayan dengan ralat " tiada nama paparan dan tiada pembolehubah persekitaran $DISPLAY" semasa menjana plot. Isu ini timbul kerana Matplotlib menggunakan bahagian belakang Xwindows secara lalai dan tidak serasi dengan persekitaran pelayan yang tidak mempunyai antara muka pengguna grafik (GUI).

Penyelesaian

Untuk menyelesaikan isu ini, tetapkan Matplotlib untuk menggunakan bahagian belakang bukan interaktif. Terdapat beberapa kaedah untuk mencapai ini:

  1. Tambah Kod pada Skrip: Pada permulaan skrip anda, sebelum mengimport matplotlib.pyplot, masukkan kod berikut:
<code class="python">import matplotlib
matplotlib.use('Agg')</code>
Salin selepas log masuk
  1. Ubah suai Fail Konfigurasi Matplotlib: Dalam fail .config/matplotlib/matplotlibrc, tambah bahagian belakang baris: Agg. Ini akan mengarahkan Matplotlib untuk menggunakan bahagian belakang Agg bukan interaktif.
echo "backend: Agg" > ~/.config/matplotlib/matplotlibrc
Salin selepas log masuk
  1. Gunakan SSH dengan X Forwarding: Apabila menyambung ke pelayan melalui SSH, gunakan Pilihan -X untuk mendayakan pemajuan Xwindows. Ini akan membenarkan aplikasi GUI yang dijalankan pada pelayan untuk berinteraksi dengan persekitaran GUI pelanggan.
ssh -X remoteMachine.com
Salin selepas log masuk
  1. Eksport Pembolehubah $DISPLAY: Tetapkan pembolehubah persekitaran $DISPLAY kepada nilai yang sesuai, seperti alamat IP dan nombor paparan mesin pelanggan.
export DISPLAY=mymachine.com:0.0
Salin selepas log masuk

Dengan melaksanakan salah satu daripada penyelesaian ini, anda boleh mengkonfigurasi Matplotlib untuk beroperasi dalam persekitaran pelayan tanpa bergantung pada GUI.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'_tkinter.TclError: tiada nama paparan dan tiada $DISPLAY environment variable\' Isu untuk Skrip Python 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
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!