Saya sedang mengerjakan proyek stasiun cuaca dengan Arduino dan saya perlu menjalankan program python (klik di sini) Saya mengembangkan di komputer yang menjalankan Server Ubuntu. Saya terhubung ke komputer melalui SSH. Klien SSH adalah laptop Windows 7 dan perangkat lunak yang saya gunakan disebut Putty.

Ketika saya menjalankan program python saya mendapatkan kesalahan berikut:

Traceback (most recent call last):
  File "plot_norm.py", line 9, in <module>
    fig1 = plt.figure(1)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line 535, in figure
    **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 81, in new_figure_manager
    return new_figure_manager_given_figure(num, figure)
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_tkagg.py", line 89, in new_figure_manager_given_figure
    window = Tk.Tk()
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1818, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

Bagaimana saya bisa memperbaiki kesalahan?

0
Alex P. 7 Agustus 2017, 17:04

2 jawaban

Jawaban Terbaik

Jika Anda tidak memerlukan backend interaktif, Anda perlu melakukannya dalam pernyataan impor Anda. Urutannya sangat penting. Pertama matplotlib, lalu matplotlib.use dan terakhir import pyplot.

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt

Ini mengubah backend menjadi non-interaktif. Jika Anda memang membutuhkan backend interaktif, abaikan ini dan gunakan ssh -X saat masuk ke host jarak jauh. Ini memungkinkan penerusan X11.

0
Hannu 7 Agustus 2017, 14:19

Alex, Athan di sini. Anda harus memposting contoh kerja minimal dari kode Anda terlebih dahulu. Kemudian uraikan

kode saya sepertinya mengabaikan ...

0
athan nats 13 Agustus 2017, 06:41