Qual a melhor IDE para Python? A que você cria! (Windows)
Se você, assim como eu, navega por fóruns frequentemente, provavelmente já está cansado da pergunta do título, certo? A questão é que essa é uma dúvida legítima para qualquer iniciante. Por isso, vou compartilhar um pouco da minha experiência prática, adquirida ao longo de mais de vinte anos de programação em diversas linguagens. Aqui vai uma dica específica para Python: recomendo fortemente o uso do Notepad++.
Já usei várias IDEs, mas à medida que o código cresce, os problemas também aumentam. Um exemplo é o PyCharm. Quando meu projeto chegou a cinco mil linhas de código e arquivos de dados com milhares de linhas, a IDE ficou praticamente inutilizável. O PyCharm não conseguia nem exibir os arquivos de dados corretamente devido à falta de suporte para grandes volumes de informações. Iniciar a plataforma e realizar a indexação do projeto levava cerca de dez minutos, mesmo em um sistema com processador de muitos núcleos, dezesseis gigabytes de memória RAM e SSD. Posso afirmar com segurança que IDEs mais sofisticadas para Python são quase como armadilhas para iniciantes. Elas funcionam bem no início, mas quando você precisa desenvolver algo realmente sério e grande, os problemas começam a aparecer.
Ao trocar para o Notepad++, consegui reduzir significativamente o consumo de memória, economizando gigabytes de RAM. Criei meu próprio ambiente de desenvolvimento e recomendo que outros façam o mesmo. Um exemplo disso é criar um script que instale a versão do Python necessária para o seu projeto e configure um ambiente virtual. É simples: você edita no Notepad++, instala bibliotecas com o pip pelo terminal (seja Linux ou CMD do Windows), e os erros são exibidos da mesma forma que em qualquer IDE, diretamente no terminal. É uma solução simples, leve, prática e sem a necessidade de software de terceiros.
Além disso, é mais eficiente evitar as "muletas" que as IDEs oferecem, pois isso pode viciar sua programação e impedir que você aprenda conceitos fundamentais que, com certeza, farão falta no futuro.
Um detalhe importante que geralmente passa despercebido pelos programadores principalmente iniciantes é a infra estrutura do servidor que vai rodar a implementação, para tornar o ambiente web mais seguro é necessário toda uma implementação de segurança além do seu código de aplicação, por isso é interessante criar seu projeto já observando que tipo de segurança irá usar e como seu código implica em requisições, processamento e uso de disco nessa arquitetura de segurança pois isso pode acabar tornando o seu servidor cloud numa máquina de tirar dinheiro de você devido a uso intenso de recursos, o custo é outro motivo para usar o minimo de recursos necessários na fase de produção quando é necessário executar o desenvolvimemto em um servidor cloud idêntico ao servidor de produção para evitar problemas de compatibilidade e inclusive após a fase de implantação, onde serão necessárias atualizações, mas esse já é outro artigo...
Abaixo vou deixar um exemplo bem básico de criação do ambiente virtual no windows do zero, eu criei ele especificamente para windows 10 com processador amd64bits que esteja com o windows defender ativado, ele irá autorizar todo seu diretorio virtual no windows defender evitando falsos avisos de virus e ameaças, basta salva-lo como um arquivo do tipo .bat no bloco de notas ou notepad++ e executa-lo como administrador (se você quiser ver melhor os erros caso ocorram apos você editar, recomendo primeiro abrir o CMD como administrador e então executar o arquivo via linha de comando isso irá impedir do console fechar após um erro e você poderá ler as mensagens de erro.), ele está pronto para que você modifique a vontade, coloquei como exemplo de instalação o Python 3.9 e a biblioteca Flask, mas você pode colocar o que quiser ou até modificar para ler um arquivo de requerimentos de projeto.
Isso é só para dar uma ideia a iniciantes, um dos projetos que eu trabalho é justamente para automatizar instalações e implantações em servidores, esse script é um pequeno exemplo disso, espero que gostem e brinquem bastante.
Crie uma pasta e salve o arquivo dentro com o nome que desejar por exemplo "meuscript.bat"
O ambiente virtual será criando na pasta onde o script estiver rodando.
=================
@echo off
setlocal
:: Solicitar privilégios de administrador
:: Verificar se o script está sendo executado como administrador
openfiles >nul 2>&1
if %errorlevel% neq 0 (
echo Solicitando permissões de administrador...
powershell -Command "Start-Process cmd -ArgumentList '/c %~dpnx0' -Verb RunAs'"
exit /b
)
:: Mover para o diretório do script
cd /d "%~dp0"
:: Verificar se o Python 3.9 está instalado, caso contrário, instalar
where python
if %errorlevel% neq 0 (
echo Python 3.9 não está instalado. Baixando e instalando...
powershell -Command "$webclient = New-Object System.Net.WebClient; $webclient.DownloadFile('https://www.python.org/ftp/python/3.9.7/python-3.9.7-amd64.exe', 'python-3.9.7-amd64.exe')"
start /wait python-3.9.7-amd64.exe /quiet InstallAllUsers=1 PrependPath=1
if %errorlevel% neq 0 (
echo Falha ao instalar o Python 3.9.
exit /b 1
)
)
:: Confirmar instalação do Python 3.9
set "PYTHON_PATH=C:\Program Files\Python39\python.exe"
if not exist "%PYTHON_PATH%" (
set "PYTHON_PATH=C:\Python39\python.exe"
)
if not exist "%PYTHON_PATH%" (
echo Python 3.9 não foi encontrado após a instalação. Certifique-se de que está instalado corretamente.
exit /b 1
)
echo Python 3.9 está instalado e configurado em "%PYTHON_PATH%".
:: Definir o nome do diretório principal e do ambiente virtual
set "MAIN_DIR=codificador"
set "ENV_NAME=venv"
:: Criar diretório principal se não existir
if not exist "%MAIN_DIR%" (
echo Criando diretório principal %MAIN_DIR%...
mkdir "%MAIN_DIR%"
if %errorlevel% neq 0 (
echo Falha ao criar o diretório principal.
exit /b 1
)
)
echo Diretório principal %MAIN_DIR% criado com sucesso.
:: Adicionar a pasta nas exclusões do Windows Defender
echo Adicionando exceção no Windows Defender...
powershell -Command "Add-MpPreference -ExclusionPath '%cd%\%MAIN_DIR%'"
if %errorlevel% neq 0 (
echo Falha ao adicionar exceção no Windows Defender. Continuando mesmo assim...
) else (
echo Exceção no Windows Defender adicionada com sucesso.
)
:: Criar ambiente virtual usando o Python 3.9 explicitamente
echo Criando ambiente virtual...
"%PYTHON_PATH%" -m venv "%MAIN_DIR%\%ENV_NAME%"
if %errorlevel% neq 0 (
echo Falha ao criar o ambiente virtual.
exit /b 1
)
echo Ambiente virtual criado com sucesso.
:: Ativar ambiente virtual
echo Ativando ambiente virtual...
call "%MAIN_DIR%\%ENV_NAME%\Scripts\activate"
if %errorlevel% neq 0 (
echo Falha ao ativar o ambiente virtual.
pause
exit /b 1
)
echo Ambiente virtual ativado com sucesso.
:: Instalar e atualizar pip
echo Instalando e atualizando pip...
python -m ensurepip
python -m pip install --upgrade pip
if %errorlevel% neq 0 (
echo Falha ao atualizar o pip.
exit /b 1
)
echo Pip instalado e atualizado com sucesso.
:: Instalar bibliotecas necessárias
echo Instalando bibliotecas necessárias...
pip install "flask"
if %errorlevel% neq 0 (
echo Falha ao instalar as bibliotecas necessárias.
exit /b 1
)
echo Bibliotecas necessárias instaladas com sucesso.
echo Ambiente virtual configurado e dependências instaladas.
echo Pronto para usar o ambiente virtual.
:: Manter o terminal aberto no ambiente virtual ativo
cmd /k
=======================