Heim  >  Artikel  >  Backend-Entwicklung  >  So beheben Sie den Fehler beim Öffnen des Terminals mit Python unter Linux

So beheben Sie den Fehler beim Öffnen des Terminals mit Python unter Linux

王林
王林nach vorne
2023-05-02 17:43:321248Durchsuche

Ich erhalte eine Fehlermeldung, wenn ich Python verwende, um das Terminal unter Linux zu öffnen

Szenario 1: Automatisierte Aufgaben auf Jenkins ausführen, beim Ausführen der Testaufgabe den Jenkins-Benutzer (mit Sudo-Berechtigungen) verwenden, das Testskript wird unter Linux ausgeführt ( Hintergrund), wenn der folgende Code ausgeführt wird. Fehlerbericht:

os.system(f"/usr/bin/konsole -e {cmd_orin2_10s}")

Szenario 2: Es gibt kein Problem, wenn das Testskript lokal mit dem Root-Benutzer ausgeführt wird, kann das Befehlsfenster normal geöffnet werden

Fehlerprotokoll:

17:44:03  qt.qpa.xcb: could not connect to display 
17:44:03  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
17:44:03  This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
17:44:03  
17:44:03  Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Lösung:

Aus Szenario 1 Im Vergleich zu Szenario 2 ist ersichtlich, dass es durch Umgebungsvariablen verursacht werden sollte. Um das Problem unter den beiden Aspekten Umgebungsvariablen und Anzeigefenster zu finden, finden Sie export DISPLAY=":0.0"

Zusätzlich: Pycharm läuft ohne Probleme, aber Terminal (Terminal) läuft mit verschiedenen Modulproblemen

Problembeschreibungen

Manchmal gewöhnt man sich an die Verwendung von Pycharm und erledigt alles, ignoriert jedoch viele Pfadprobleme. Wenn Sie beispielsweise gelegentlich mit anderen Umgebungen und Plattformen interagieren müssen, ist das Schreiben eines C#-Programms zum Aufrufen von Python gleichbedeutend mit einer Ausrede. Zu diesem Zeitpunkt wird das Terminal durch Übergeben von Parametern gestartet. Der Grund dafür ist, dass die externe Umgebung beim Aufrufen der Python-Schnittstelle verschiedene Module in Ihrem Programm finden muss Wenn es nicht zur Umgebungsvariablen hinzugefügt wird, wird es nicht gefunden. Daher wird empfohlen, die folgende Anweisung am Anfang jeder verwendeten py-Datei zu verwenden aktuelle Datei Fügen Sie es der Umgebungsvariablen hinzu, damit Sie problemlos alle Dateien im Verzeichnis der oberen Ebene aufrufen können

  • Wenn Sie viele Verzeichnisebenen haben und sich das aktuelle Verzeichnis an einem tieferen Ort befindet, können Sie diesen Befehl leicht ändern Kurz gesagt, schließen Sie einfach alle Dateien und Verzeichnisse ein, die Sie verwenden möchten. Sie können zum Beispiel

  • sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')

  • Wenn Sie natürlich nur alle Verzeichnisse im aktuellen Ordner aufrufen möchten, können Sie
  • verwenden
    sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')

Das obige ist der detaillierte Inhalt vonSo beheben Sie den Fehler beim Öffnen des Terminals mit Python unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen