GNU/Linux >> Linux Esercitazione >  >> Linux

Rilevamento automatico della disponibilità del display con matplotlib

provare questo?

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()

Puoi rilevare direttamente se hai un display con il modulo OS in python.nel mio caso è

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

Il codice seguente funziona per me in Linux e Windows (dove presuppone che ci sia un dispositivo di visualizzazione):

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

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

Nota che la riga matplotlib.use('Agg') deve apparire dopo la prima importazione di matplotlib (altrimenti riceverai un errore).


Linux
  1. Importa funzioni e variabili in Bash con il comando sorgente

  2. Come configurare gli aggiornamenti automatici con yum-cron su CentOS 7?

  3. Ottieni spazio libero su disco con df per visualizzare solo lo spazio libero in kb?

  4. Come posso utilizzare una finestra di avviso con Python in Linux?

  5. Problema con la visualizzazione remota delle applicazioni Java

Comando Date in Linux con esempi di utilizzo

Visualizza i cheatsheet dei comandi Linux con lo strumento Tealdeer

Visualizza le statistiche dei sistemi di virtualizzazione con Virt-top in Linux

Visualizza le informazioni sul modulo del kernel Linux con il comando Modinfo

Rilevamento del secondo schermo?

Come importare un database con phpMyAdmin su cPanel?