WSL2와 Matplotlib 사용하기

Nos últimos meses tenho migrado meu ambiente de desenvolvimento para WSL2 (Linux 2용 Windows 하위 시스템), 항상 이중 부팅을 지원하고, 다양한 프로젝트를 병렬로 실행하고, 필요에 따라 다양한 시스템을 실행해야 하며, Home Office를 통해 재결합할 수 있습니다.
Neste caso Windows torna-se um sistema amigável e com "Batteries Included", porém sinto falta da da liberdade e agilidade que o pinguim me oferece.
WSL2 veio para suprir essa demanda, atualmente tenho utilizado como sistema principal de desenvolvimento, a expperiência tem sido muito positiva, algumas horas para configurar tudo de primeira, mas para a próxima vez que for necessário reinstalar já está tudo automatizado, utilizando shell script para configurar 오 환경.
스크립트 Python은 WSL2로 직접 이동하며, 플롯은 uma distribuição gaussiana 및 me deparei com um problema clássico에서 간단합니다.

    "UserWarning: Matplotlib is currently using agg, which is a non-GUI.


Para resolver é bem simples, bora lá.

Escolha um X-server do seu gosto!



Eu testei com o Xming e o VcXsrv , ambos funcionaram que é uma beleza, vou seguir com o Xming neste post.

Baixe a última versão disponível do Xming 다음, 다음, 다음 설치를 통해 Windows를 설치하십시오. Aconselho liberar a ferramenta no firewall do Windows para não dar dor de cabeça.

Agora deve-se ter um pouco de atenção, segue os passos ilustrados:
  • Abra o XLauch, escolha Multiple Windows.
  • Nesta tela deixe como está.
  • Marque a caixa chamada "액세스 제어 없음".
  • Agora é só next, finish e está feito!

  • Vamos 파라 o WSL2



    Neste CASO는 Microsoft Store에서 Ubuntu 20.04 배포 이미지를 사용할 수 있습니다.
  • python-tk를 설치합니다:

  • $ sudo apt-get install python3-tk
    


  • .zshrc/.bashrc, .zshrc/.bashrc에 대한 액세스 권한이 없으면 resolv.conf 파일이 저장되지 않으며, 새로운 파일을 저장하지 않아도 됩니다.

  • $ export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"
    


    E está feito, relativamente simples e eficiente, a seguir uma imagem do resultado final:


    Claro que não podia faltar o código que usei, peguei um dos exemplos do matplotlib para illustrar este post:

      import matplotlib
      import matplotlib.pyplot as plt
      import numpy as np
    
      # Data for plotting
      t = np.arange(0.0, 2.0, 0.01)
      s = 1 + np.sin(2 * np.pi * t)
    
      fig, ax = plt.subplots()
      ax.plot(t, s)
    
      ax.set(xlabel='time (s)', ylabel='voltage (mV)',
             title='About as simple as it gets, folks')
      ax.grid()
    
      fig.savefig("test.png")
      plt.show()
    


    Então é isso, espero ter ajudado e poupado um pouco do seu tempo! :)

    좋은 웹페이지 즐겨찾기