Executando verificação de segurança...
1

Qual a melhor forma de usar o WSL para programação e ciência de dados?

Saudações! Estou começando a estruturar um ambiente de desenvolvimento usando WSL 2 e queria ouvir experiências de quem já usa esse setup.

Hoje meu foco é Python, Jupyter, VS Code, alguns frameworks (TensorFlow, PyTorch) e um pouco de desenvolvimento web/automação. Vou usar o Windows como sistema principal, mas quero manter o ambiente de trabalho o mais limpo possível e rodar o que for mais pesado dentro do Linux do WSL.

Minhas dúvidas práticas:

Vocês preferem instalar Python/Jupyter dentro do WSL ou usar Anaconda no Windows?

Vale a pena manter tudo no Linux (ambientes virtuais, pacotes, notebooks) e usar o VS Code via Remote WSL?

Como vocês lidam com integração com arquivos — trabalham só no sistema de arquivos do Linux?

Alguma dica de otimização ou boas práticas para evitar conflitos ou bagunça no ambiente?

Quero montar um setup organizado desde o início, então qualquer insight é bem-vindo. Valeu! 🚀

Carregando publicação patrocinada...
1

Salve, Jeferson! Tudo joia?

Cara, não envolve a stack Python, mas eu escrevi um tutorial sobre como configurar um ambiente de desenvolvimento completo no WSL. Dá uma conferida, talvez você possa encontrar algo útil: https://www.tabnews.com.br/AndreiAlves/configurando-um-ambiente-de-desenvolvimento-no-windows-com-wsl-docker-node-js-vscode-git-e-github

E uma resposta rápida para as suas quatro perguntas é: o ideal é que você mantenha tudo o que diz respeito a desenvolvimento dentro do WSL. E evite trabalhar de forma cruzada entre os sistemas. Ou seja, acessando o sistema de arquivos do Windows por dentro do WSL, porque isso traz alguns bugs e problemas de performance segundo a própria documentação da Microsoft: https://learn.microsoft.com/pt-br/windows/wsl/filesystems#file-storage-and-performance-across-file-systems

1

Simples. Olhe o canal do Full Cycle.

Eles tambem tem um dos repos mais completos do mundo sobre WSL

https://github.com/codeedu/wsl2-docker-quickstart

O amiguinho ali ja deu a boa sobre o wslconfig

A primeira coisa a se pensar na parte dos arquivos é que você deve priorizar os arquivos dentro do WSL

Voce pode ver arquivos do Windows no WSL? Sim, mas o problema é que a escrita e leitura serão lentas

Aqui, basicamente é instalar VSCode no Windows, istalar a extensão o WSL, abrir um terminal WSL e digitar code .

Pronto. O VSCode provisionará a comunicação. Ai você pode usar seu editor VSCode tanto pra Windows, quanto pro WSL.

Lembrando que se for trabalhar somente ni WSL, você deve instalar as outras extensões (Python etc) do VSCode no WSL

Você citou Anaconda. 10 anos atrás era mais comum utilizar. Eu prefiro o utilizar o mamba. Você cria seu ambiente na cli. Não precisa gastar seu HD instalando pacotes que nunca usará

Pra mexer com CUDA, eu acho uma excelente forma ate hoje

Pra coisas mais comuns, o pip ou uv são mais que suficiente

1

Não sei quanto à ciência de dados, darei minha opinião sobre o desenvolvimento:

Tudo tudo no WSL. Não vale a pena ter partes no windows e partes no wsl, fica muito lento

Como vocês lidam com integração com arquivos — trabalham só no sistema de arquivos do Linux?

De quantos arquivos estamos falando? Se for muitos fica lento, se for poucos é imperceptível.

Alguma dica de otimização

No explorer acesse a pasta %USERPROFILE% e crie o arquivo .wslconfig e coloque o seguinte:

[wsl2]
memory=16GB
swap=0

[experimental]
sparseVhd=true

Memória: até metade do seu sistema. sem essa instrução a wsl irá consumir toda a memória do pc, já tive muita tela azul por causa disso

swap: prefiro desativar, o sistema fica muito lento

sparseVhd: Isso vai te ajudar a diminuir o tamanho do disco virtual criado de tempos em tempos (você vai precisar fazer a diminuição regularmente, a wsl consome todo o disco do PC)

salve este link nos favoritos (você vai precisar regularmente) e execute o comando do diskpart

select vdisk file="...."
attach vdisk readonly
compact vdisk
detach vdisk

quando o armazenamento tiver mais de 100GB

1
1

Caso não saiba onde está o arquivo "ext4.vdhx"(arquivo de partição do wsl2) rode esse comando no powershell:
Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object { Get-ItemProperty $_.PSPath } | Select-Object DistributionName, BasePath

No meu caso o arquivo não estava na pasta padrão da instação.

1

Trabalho com desenvolvimento de sistemas, inclusive de visão computacional (IA). No geral, o wsl não dá problemas, você consegue rodar o pytorch, tensorflow, configurar CUDA... Você terá problemas se precisar conectar câmeras para usar com opencv. Existem algumas formas de conectar, mas pode envolver compilar um novo kernel pro wsl, o que, definitivamente, não vale a pena.

1

Não trabalho com dados, mas uma forma que uso o WSL é para montar meus ambientes usando DevContainer, assim monto os ambientes com as exatas dependências e extensões que preciso, além de ser facilmente replicado por alguém do time, basta abrir o projeto e subir o container e tá tudo pronto.