GNU/Linux >> Tutoriels Linux >  >> Linux

Détection automatique de la disponibilité de l'affichage avec matplotlib

essayer ça ?

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

Vous pouvez détecter directement si vous avez un affichage avec le module OS en python. Dans mon cas c'est

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

Le code ci-dessous fonctionne pour moi sous Linux et Windows (où il suppose qu'il y a un périphérique d'affichage) :

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

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

Notez que la ligne matplotlib.use('Agg') doit apparaître après la première importation de matplotlib (sinon vous obtiendrez une erreur).


Linux
  1. Importer des fonctions et des variables dans Bash avec la commande source

  2. Amélioration de la sécurité Linux avec Advanced Intrusion Detection Environment (AIDE)

  3. Comment configurer les mises à jour automatiques avec yum-cron sur CentOS 7 ?

  4. Comment puis-je utiliser une boîte de dialogue d'alerte avec Python sous Linux ?

  5. Basculer entre les moniteurs avec l'état de double affichage [awesome wm]

Commande de date sous Linux avec des exemples d'utilisation

Afficher les feuilles de triche des commandes Linux avec l'outil Tealdeer

Afficher les statistiques des systèmes de virtualisation avec Virt-top sous Linux

Afficher les informations du module du noyau Linux avec la commande Modinfo

Détection du deuxième écran ?

Comment importer une base de données avec phpMyAdmin sur cPanel ?