GNU/Linux >> Tutoriales Linux >  >> Linux

Detección automática de disponibilidad de visualización con matplotlib

probar esto?

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

Puede detectar directamente si tiene una pantalla con el módulo OS en python. En mi caso, es

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

El siguiente código me funciona en Linux y Windows (donde se supone que hay un dispositivo de visualización):

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

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

Tenga en cuenta que la línea matplotlib.use('Agg') debe aparecer después de la primera importación de matplotlib (de lo contrario obtendrá un error).


Linux
  1. Importe funciones y variables a Bash con el comando fuente

  2. Linux:¿cambiar entre monitores con estado de pantalla dual [wm increíble]?

  3. ¿Adaptador de pantalla USB con controladores Linux/ubuntu?

  4. ¿Cómo configurar Actualizaciones Automáticas con yum-cron en CentOS 7?

  5. ¿Obtener espacio libre en disco con df para mostrar solo espacio libre en kb?

Comando de fecha en Linux con ejemplos de uso

Mostrar hojas de trucos de comandos de Linux con la herramienta Tealdeer

Mostrar estadísticas de sistemas de virtualización con Virt-top en Linux

Mostrar información del módulo del kernel de Linux con el comando Modinfo

¿Detección de segunda pantalla?

¿Cómo importar una base de datos con phpMyAdmin en cPanel?