Configurando um ambiente de desenvolvimento Python no Windows, com o WSL
Tags: python, datascience, jupyter
Published: 2022-03-14 05:09:48

# Introdução

Neste artigo vamos aprender a configurar um ambiente de desenvolvimento Python no Windows, através da ferramenta WSL, presente nativamente a partir do Windows 10, que permite utilizar o melhor dos 2 universos: Windows e Linux.

# O que é o WSL?

O [Windows Subsystem for Linux](https://docs.microsoft.com/pt-br/windows/wsl/about) (WSL) permite a execução de um ambiente GNU/Linux, incluindo a maior parte das ferramentas de linha de comando, utilitários e aplicativos, diretamente no Windows, sem a necessidade de uma instalação dualboot ou de uma máquina virtual tradicional.

# Configurando o WSL 2

O WSL já está presente nas instalações mais recentes do Windows 10 em diante, mas devemos habilitá-lo para podermos instalar uma distribuição Linux antes de começar a usá-la. Para isso, devemos executar o PowerShell como administrador e utilizar o seguinte comando:

```shell
wsl --install
``` 

Esse comando vai habilitar os componentes opcionais WSL e Plataforma de Máquina Virtual, baixar e instalar o kernel do Linux mais recente, definir o WSL 2 como o padrão e, finalmente, baixar e instalar a distribuição Ubuntu.

Após, devemos reiniciar o Windows para que as alterações tenham efeito.

Depois da reinicialização, será concluída a instalação do Ubuntu e a seguinte tela aparecerá:

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1647221312739/UG0Que-8_.png)

Digite um nome de usuário para o Linux, confirme e em seguida configure uma senha. Em seguida, o terminal vai abrir com o novo usuário recém-criado:

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1647221480123/ntTrTtWTw.png)

# Ferramentas

## Windows Terminal

O prompt de comandos (terminal) padrão do Windows não é muito bom. Assim, vamos instalar o Windows Terminal, que pode ser encontrado na Microsoft Store:

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1647221695719/WH3mvKveA.png)

Esse terminal é bastante configurável e permite a execução de várias abas com múltiplas instâncias: PowerShell, Prompt de comando, Ubuntu etc, conforme podemos visualizar na imagem a seguir:

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1647221933153/yokZVhC_B.png)

## Miniconda

Para instalar o [Miniconda](https://docs.conda.io/en/latest/miniconda.html) no Ubuntu, devemos baixar a versão para Linux no [site oficial](https://docs.conda.io/en/latest/miniconda.html) (arquivo com extensão .sh). Depois de baixar, devemos abrir o Windows Terminal no modo WSL (Ubuntu), navegar até o arquivo, dar as permissões necessárias e executá-lo:


```shell
cd Downloads
chmod +x Miniconda3-py39_4.11.0-Linux-x86_64.sh
./Miniconda3-py39_4.11.0-Linux-x86_64.sh
``` 

## VS Code

Como editor de código, utilizaremos o [Visual Studio Code](https://code.visualstudio.com/) (VS Code). Podemos baixar a versão para Windows pelo [link](https://code.visualstudio.com/) e proceder com a instalação. Após a instalação, devemos executar o VS Code e instalar as seguintes extensões, que facilitarão o trabalho com a linguagem Python no editor:

- [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
- [Python Extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)

# Usando o ambiente de desenvolvimento

Inicialmente, podemos criar uma pasta (Desenvolvimento) para organizarmos nossos projetos. Com o terminal WSL (Ubuntu) aberto:

```shell
mkdir Desenvolvimento
```

Para criação do nosso primeiro projeto (projeto_exemplo), vamos acessar a pasta Desenvolvimento, criar a subpasta e acessá-la:

```shell
cd Desenvolvimento
mkdir projeto_exemplo
cd projeto_exemplo
```

Por fim, vamos abrir a pasta do projeto, dentro do VS Code, através do seguinte comando no terminal:

```shell
code .
```

No canto inferior esquerdo do VS Code, repare que o editor está rodando através do WSL:


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1647230654559/pFSPpYRCm.png)

## Jupyter Notebook

Dentro do terminal do VS Code, podemos rodar comandos, como por exemplo a instalação e execução do Jupyter Notebook:

```shell
pip install notebook
jupyter notebook
```

# Conclusão

O WSL foi um grande avanço no sistema operacional Windows, que permitiu a junção das funcionalidades do Windows com as facilidades do Linux. Com isso, o desenvolvedor pode ter à sua disposição o melhor dos 2 mundos.

# Referências

- https://docs.microsoft.com/pt-br/windows/wsl/about

- https://docs.conda.io/en/latest/miniconda.html

- https://code.visualstudio.com/

- https://jupyter.org/