DISPLAY-Fehler in wxPython (und featuresui) auf vscode

Umgebung

Ubuntu18.04 wxPython 4.0.4 Python 3.7

Hintergrund

Hello World of Traitsui hat nicht funktioniert, daher habe ich mit dem folgenden Hello World-Code überprüft, ob wxPython, das als Toolkit verwendet wird, überhaupt funktioniert.

# First things, first. Import the wxPython package.
import os
import wx

# Next, create an application object.
app = wx.App()
print(app.IsDisplayAvailable())

# Then a frame.
frm = wx.Frame(None, title="Hello World")

# Show it.
frm.Show()

# Start the event loop.
app.MainLoop()

Dann wird der folgende Fehler "Kann nicht auf die X-Anzeige zugreifen, ist $ DISPLAY richtig eingestellt?" Screenshot from 2020-07-18 14-15-33.png

Ich konnte nicht "DISPLAY =: 0" in das Terminal eingeben oder DISPLAY in der env-Variablen in launch.json setzen.

Lösung

Immerhin konnte ich es lösen, indem ich die Umgebungsvariable im Code wie folgt angab.

# First things, first. Import the wxPython package.
import os
import wx

os.environ["DISPLAY"] = ":0"

# Next, create an application object.
app = wx.App()
print(app.IsDisplayAvailable())

# Then a frame.
frm = wx.Frame(None, title="Hello World")

# Show it.
frm.Show()

# Start the event loop.
app.MainLoop()

Unten ist das angezeigte Fenster. Screenshot from 2020-07-18 14-21-15.png

Erwägung

Erstens konnten xeyes im vscode-Terminal nur angezeigt werden, wenn es auf "xeyes -display: 0" gesetzt war. Darüber hinaus könnte Hello World in einem normalen Terminal ohne besondere Maßnahmen angezeigt werden, sodass ein Problem mit der Implementierung des vscode-Terminals zu bestehen scheint.

Recommended Posts

DISPLAY-Fehler in wxPython (und featuresui) auf vscode
VScode-Umgebungskonstruktion (auf Mac) und Diagrammanzeige in Python (@ Browser)
So unterdrücken Sie Anzeigefehler in matplotlib
Fehler, der in OpenCV3 und seiner Lösung aufgetreten ist. Vorsichtsmaßnahmen bei Verwendung von OpenCV3 auf dem Mac
Zeigen Sie Bilder an und spielen Sie Videos im Neovim Terminal ab
Fehlermeldung anzeigen, wenn die Anmeldung in Django fehlschlägt
So schreiben Sie in Error Repoting in Python auf GAE
Zeigen und analysieren Sie nur einige Spalten in CASTable
Setzen Sie Scipy + Matplotlib in Ubuntu auf Vagrant und zeigen Sie die Grafik mit X11 Forwarding an
Fehler in random.shuffle
Fehler im Pyinstaller
Fehler in TensorBoard
Über Importfehler von numpy und scipy in anaconda
Lesen Sie die CSV-Datei und zeigen Sie sie im Browser an
Hinweis: CGI (während des Versuchs und Irrtums) in der Vagrant-Umgebung
Messen Sie die Temperatur und Luftfeuchtigkeit im Innen- und Außenbereich und zeigen Sie sie auf dem Armaturenbrett an
Entwickelt durch Installation von Git, VSCode, Docker unter Chrome OS
Führen Sie einen Befehl auf dem Webserver aus und zeigen Sie das Ergebnis an