GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Automatische Erkennung der Anzeigeverfügbarkeit mit matplotlib

versuchen Sie dies?

import matplotlib,os
r = os.system('python -c "import matplotlib.pyplot as plt;plt.figure()"')
if r != 0:
    matplotlib.use('Agg')
    import matplotlib.pyplot as plt
    fig = plt.figure()
    fig.savefig('myfig.png')
else:
    import matplotlib.pyplot as plt
    fig = plt.figure()
    plt.show()

Sie können direkt erkennen, ob Sie ein Display mit dem OS-Modul in Python haben. In meinem Fall ist es

>>> import os
>>> os.environ["DISPLAY"]
':0.0'

Der folgende Code funktioniert für mich unter Linux und Windows (wobei davon ausgegangen wird, dass ein Anzeigegerät vorhanden ist):

import os
import matplotlib
if os.name == 'posix' and "DISPLAY" not in os.environ:
    matplotlib.use('Agg')

Siehe https://stackoverflow.com/a/1325587/896111.

Beachten Sie, dass die Zeile matplotlib.use('Agg') muss nach dem ersten Import von matplotlib erscheinen (Andernfalls erhalten Sie eine Fehlermeldung).


Linux
  1. Importieren Sie Funktionen und Variablen mit dem Quellbefehl in Bash

  2. Wie konfiguriere ich automatische Updates mit yum-cron unter CentOS 7?

  3. Wie kann ich einen Warndialog mit Python unter Linux verwenden?

  4. Problem mit Remote-Anzeige von Java-Anwendungen

  5. Wechseln Sie zwischen Monitoren mit dualem Anzeigestatus [awesome wm]

Datumsbefehl in Linux mit Verwendungsbeispielen

Zeigen Sie Cheatsheets für Linux-Befehle mit dem Tealdeer-Tool an

Zeigen Sie Statistiken zu Virtualisierungssystemen mit Virt-top in Linux an

Zeigen Sie Linux-Kernel-Modulinformationen mit dem Modinfo-Befehl an

Zweitbildschirmerkennung?

Wie importiert man eine Datenbank mit phpMyAdmin auf cPanel?