Ao executar um script Python envolvendo Matplotlib em um servidor, você pode encontrar o erro "_tkinter.TclError: nenhum nome de exibição e nenhuma variável de ambiente $DISPLAY." Este erro surge porque o padrão do Matplotlib é usar o backend Xwindows, que requer um ambiente de exibição gráfica. No entanto, os ambientes de servidor geralmente não possuem esse recurso.
Para resolver esse problema, você pode instruir o Matplotlib a utilizar um back-end não interativo. Insira o seguinte código no início do seu script, antes de importar o pyplot:
import matplotlib
matplotlib.use('Agg')
Como alternativa, você pode adicionar a seguinte linha ao arquivo .config/matplotlib/matplotlibrc:
backend: Agg
Isso irá configurar Matplotlib para usar o backend Agg, que não requer exibição gráfica.
Outra opção é usar ssh com Encaminhamento X11:
ssh -X remoteMachine
Este comando permite que você acesse aplicativos Xwindows remotamente.
Finalmente, você pode definir a variável de ambiente DISPLAY:
export DISPLAY=mymachine.com:0.0
Ao especificar um nome de exibição válido, Matplotlib irá ser capaz de se conectar a um display gráfico em outra máquina.
Para obter mais informações, consulte as Perguntas frequentes do Matplotlib: https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web- servidor de aplicação
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3