Python está em todo o lado. Hoje em dia, parece que potencia tudo, desde os principais websites a utilitários de desktop a software empresarial. Python tem sido utilizado para escrever todos, ou partes de projectos de software populares como dnf/yum, OpenStack, OpenShot, Blender, Calibre, e até o cliente original BitTorrent.
É também uma das minhas linguagens de programação favoritas. Pessoalmente, Python tem sido a minha linguagem de programação ao longo dos anos para tudo, desde projectos de classe na faculdade a pequenos guiões para me ajudar a automatizar tarefas recorrentes. É uma das poucas linguagens por aí que é fácil de começar para iniciantes, mas incrivelmente poderosa quando os iniciantes se formam para trabalhar em projectos do mundo real.
Para editar programas Python, tem uma série de opções. Algumas pessoas preferem um editor de texto básico, como Emacs, Vim, ou Gedit, todos os quais podem ser alargados com características como destaque de sintaxe e auto-completar. Mas muitos utilizadores de poder a trabalhar em grandes projectos com bases de código complexas preferem um ambiente de desenvolvimento integrado (IDE) ao editor de texto mais a combinação de terminais. Um IDE é essencialmente um editor de texto, mas com muitas características adicionais, por vezes específicas de apenas uma ou duas linguagens de programação, para ajudar o programador a acompanhar o projecto como um todo. Por exemplo, a maioria das IDEs mantém um cache de nomes de classe, função e variáveis para que possam ser auto-completados rapidamente. Outros têm ferramentas de depuração, lógica instantânea e verificação de erros, e assim por diante.
A linha entre um editor de texto avançado e um IDE fino nem sempre é clara. À medida que adquire experiência, normalmente desenvolve uma opinião sobre quais as características que considera essenciais para as suas necessidades de desenvolvimento, e mesmo aquelas que por vezes dependem do projecto em que está a trabalhar.
Aqui estão algumas das opções mais populares disponíveis para os programadores Python. Todas são multi-plataforma, pelo que podem ser utilizadas no seu sistema operativo de eleição.
Eric
Eric é uma IDE favorita comum para edição Python. Com o nome de Eric Idle de Monty Python, Eric é na realidade escrito em Python utilizando a estrutura Qt.
Eric faz uso de Scintilla, um componente de edição de código fonte utilizado em várias IDEs e editores diferentes, e que também está disponível como editor independente SciTE.
As características de Eric são semelhantes a outras IDEs: correspondência de chaves, completamento de código, um navegador de classes, testes unitários integrados, e assim por diante. Tem também uma função de pré-visualização do formulário Qt, que é útil se estiver a desenvolver uma GUI Qt para a sua aplicação. Eu pessoalmente gosto da função de lista de tarefas integrada.
Se é novo nos IDEs como conceito, Eric pode levar algum tempo a dominar, e pode questionar-se se a aprendizagem de um IDE específico apenas para Python vale o investimento de tempo. Acho que Eric é um ambiente de programação excelente, leve, mas com todas as funcionalidades, e a sua aprendizagem pode ajudar a qualidade do seu código e familiarizá-lo com convenções comuns a todas as IDEs.
Eric está disponível na versão GPL 3.
Pyzo
Pyzo é um editor baseado em Qt- com um navegador de ficheiros incorporado, visão geral do projecto, registo, depurador, rastreador de indentação, e muito mais. Considera-se uma alternativa ao MATLAB, embora na realidade seja um editor útil para qualquer projecto Python, e não apenas para aqueles que lidam com matemática e ciência avançadas.
Porque é construído com Qt, o seu espaço de trabalho é altamente configurável. Pode mover painéis para se adequarem ao seu fluxo de trabalho ou para simular um layout IDE específico a que está habituado. A capacidade de mostrar e esconder painéis de ferramentas com base na informação que deseja à sua frente pode ser uma forma útil de se ajudar a concentrar-se, e porque pode atribuir quase todas as opções a uma combinação de teclas específica, pode manter o seu editor Pyzo fluido e dinâmico.
Pyzo é uma IDE simples, não é um ecossistema inteiro como o Eclipse é. Não tem uma arquitectura plugin (além de ser de código aberto e, portanto, inerentemente hackeável), e o seu principal objectivo é manter-se fora do seu caminho, excepto para ajudar a seguir o seu código.
Spyder
O IDE Spyder, tal como o Pyzo, visa os cientistas de dados como o seu público. Ao contrário do Pyzo, o Spyder é um verdadeiro ambiente só seu. É uma aplicação grande, complexa e rica em características, com painéis para exibir dados renderizados, saída de código, registos, história, e muito mais. Pode ser descarregado por si só, ou como parte de um pacote juntamente com a distribuição Anaconda, um popular kit de ferramentas de programação utilizado pelos programadores Python e R.
PyCharm
PyCharm é outro editor popular de Python. Existem duas versões do PyCharm, e a edição livre e de código aberto do PyCharm é a edição comunitária, disponível sob a licença Apache 2.0.
PyCharm apresenta praticamente tudo o que se poderia esperar de uma IDE: testes unitários integrados, inspecção de código, controlo de versão integrado, ferramentas de refactoring de código, uma variedade de ferramentas para navegação de projectos, bem como as características de realce e conclusão automatizada que se esperaria com qualquer IDE.
Para mim, a principal desvantagem de PyCharm é o seu modelo de núcleo aberto. Muitas das características avançadas de PyCharm não estão disponíveis sob uma licença de código aberto, e para mim, isso é uma quebra de contrato. No entanto, se não estiver a procurar utilizar funcionalidades avançadas incluídas na versão de código fechado, ter as funcionalidades deixadas de fora pode deixar PyCharm como uma escolha simples e relativamente leve para edição Python.
Eclipse com PyDev
É difícil escrever qualquer coisa sobre ambientes de desenvolvimento integrado de código aberto sem cobrir o Eclipse, que tem uma enorme comunidade de programadores e inúmeros plugins disponíveis, permitindo-lhe personalizá-lo para satisfazer praticamente qualquer necessidade que possa imaginar. Mas esta abordagem de pia de cozinha é também uma das desvantagens do Eclipse. Dependendo das suas necessidades, pode parecer inchada ou demasiado complexa.
Dito isto, se vier para Python a partir de um fundo numa linguagem diferente, particularmente Java, então o Eclipse pode já ser uma IDE familiar. E se fizer uso das suas muitas características, pode achar a vida sem elas difícil. Mesmo que seja novo em programação, Eclipse pode ser uma grande IDE para começar, porque uma vez que o aprenda, poderá provavelmente usá-lo para a maioria ou para tudo o resto em que trabalha, independentemente da linguagem.
PyDev adiciona um grande número de funcionalidades ao Eclipse, muito para além do simples destaque de código. Trata do completamento de código, integra a depuração Python, adiciona um navegador token, ferramentas de refactoring, e muito mais. No caso de estar a trabalhar com a popular estrutura web Django Python, então pode aproveitar PyDev para criar novos projectos Django, executar acções Django com hotkeys, e usar uma configuração de execução separada específica para Django.
Eclipse e PyDev estão ambos disponíveis sob a Licença Pública Eclipse.
Outras grandes opções
A lista de editores Python de código aberto e ambientes de desenvolvimento integrado é longa. Aqui estão alguns outros destaques interessantes.
- PyScripter, LeoEditor, e PTK (o Kit de Ferramentas Python) são ferramentas para trabalhar com código Python. E claro que existe o IDLE, o IDE padrão empacotado com Python.
- Geany, Atom, e Brackets são editores de código de uso geral com suporte Python através de plugins.
- Netbeans e VS Codium são IDEs de código aberto de uso geral que, como o Eclipse, podem ser transformadas em editores Python com plugins e extensões seleccionadas.
- Os editores de código mais extensíveis são susceptíveis de apresentar suporte Python. Por exemplo, o Emacs pode ser uma IDE Python completa se souber quais os pacotes e configurações a utilizar. O editor KDE Kate tem realce de sintaxe, colapso de código, e suporte de directório de projectos por defeito, mais outras extensões para ajudar ao longo do caminho.
O importante a compreender sobre um IDE Python ou editor Python é que a melhor escolha é aquela que resolve um problema. Se ficar sobrecarregado com opções e configurações, então escolher um IDE ou editor de texto leve e simples pode ser apropriado. Se quiser algo que o ajude a escrever código mais limpo com menos erros, então um editor rico em funcionalidades com cache e linting poderá servi-lo melhor. Experimente alguns dos aqui listados, ou os que encontrar por si próprio, e veja qual deles funciona para si. Afinal, um dos pontos fortes do código aberto é a escolha.
Esta não é uma lista completa de soluções de edição Python. Para uma lista (quase) abrangente, consulte as listas da Fundação Python de ambientes de desenvolvimento integrado e editores para Python. Perdemos o seu favorito? Diga-nos o que está nos comentários abaixo, e diga-nos porque é a sua melhor escolha.
Este artigo foi originalmente publicado em Outubro de 2015 e foi actualizado para incluir informação adicional.
Está interessado em ler mais artigos como este? Inscreva-se na nossa newsletter semanal por correio electrónico.