Testando código.py na IDE Geany

Olá pessoal, como vão :heart:?

Estou estudando programação e me surgiu um pequeno problema.

Costumo escrever no Vim, mas não consigo testar os códigos para saber se o que estou fazendo esta correto, porque ele é um editor de texto e não uma IDE.

Baixei o Geany por ser bem leve e aparentemente amigável para uso, mas não consigo testar os códigos nele.

Digito o que quero, salvo o arquivo e dou F5, aí aparece a mensagem: “Impossível executar o comando de compilação. Arquivo ou diretório inexistente. Verifique a definição do terminal nas preferências”.

Também fui em “Depurar”, escolhi “Executar/continuar” e aparece a seguinte mensagem: "Sem conjunto executável. Defina um executável em Depurar/configurar programa". Fiz o que a mensagem pede e coloquei em “Executável” todo o caminho de diretório do qual quero executar o código mas aí me aparece a mensagem “Permissão negada”.

Usei também a própria IDE do Python (IDLE) e também não consigo testar os códigos.

Por favor, alguém sabe como me ajudar a usar o Geany?

Desde já, muito obrigada :v:!

Você já testou o PyCharm?
Quando eu estudava python, eu testava vários ambientes de desenvolvimento (IDEs), mas nenhum deles se iguala ao pycharm, ele tem suporte ao git/github, mostra o porquê do programa dar erro e onde está o erro, etc…

OBS: ele é meio pesadinho, mas vale a pena

2 curtidas

Oi, tudo bem?

Então, não uso o PyCharm porque além de Python estudo também JavaScript, por isso escolhi uma IDE mais genérica… Mas cho que se não conseguir vou tentar usar o PyCharm ou qualquer outra mesmo.

Ah, não gostaria de usar o VS Code.

Ja usei muito tempo vs code pra python, também é bom, mas na época ele tinha uns bugs de dirétório. ex: você fazia bibliotecas em diretorios diferentes, quando você mandava executar o programa, o vs code se confundia todo e o programa bugava, o que já não acontece no PyCharm.

Já tentei fazer isso, mas descobri que no final das contas uma ide genérica dá muito mais dor de cabeça do que baixar 2 ide’s focadas em linguagens especificas.

O geany é bom para desenvolvimento de c/c++, já python eu nunca ouvi falar, sem contar que o geany tá mais pra um editor de texto com umas features a mais, do que para uma IDE séria.

resumindo: É melhor gastar uns MB a+, do que gastar uma hora pesquisando como solucionar problemas de ide’s (o que acontecia comigo).

1 curtida

Já deu uma espiadinha no IntelliJ, eu uso ele para programar em Rust e WEB Assembler, ele tem plug-ins para muitas linguagens.

1 curtida

Na Prática, 99% do conteúdo das versões especializadas, (menos alguns casos especiais como CLion) está presente no IntelliJ, mas apenas no ultimate, não tem como instalar os plugins do PyCharm, WebStorms, etc no community. É uma boa para uso profissional, eu uso no trabalho e é uma ferramenta que vale a pena se especializar, mas não sei se valeria a pena para estudos. Pessoalmente acho que para hobistas não seria vantajoso.

Vou listar aqui algumas formas de resolver seu problema. Iniciando com uma forma de depurar scripts python sem o uso de nenhuma IDE e então passando elas principais IDEs e editores que tenho contato. Lembrando apenas que TUDO que eu descrever aqui é válido para python 3.7+. Pode ser que coisas funcionem em versões anteriores, mas como não tive contato com esses recursos antes da versão 3.7, não posso garantir nada antes dessa versão.

Outro ponto é que todo pacote python que eu listar um link aqui será do pypi já que não estou habituado a usar outros repositórios como o conda. Contudo, se não todos, quase todos, certamente estarão disponíveis ou no repositório principal do conda ou no conda-forge.

Todas as soluções são utilizadas igualmente tanto no linux quanto no windows.

Inicialmente, você pode depurar qualquer código em python sem o uso de nenhuma IDE, basta usar o debugger interno do interpretador. Para fazer isso você tem algumas alternativas:

1 - Adicionar o pacote do debugger (pdb) em um script que será usado para executar o que você quer depurar e em seguida chamar com pdb.run().

2 - Abrir o seu script com o interpretador python (ou ipython se você preferir) com o argumento de chamada do depurador (por exemplo python -m pdb myscript.py).

Dessas duas formas, seu código será inicializado com um breakpoint . Caso você queira colocar um breakpoint no meio do código, nem mesmo o pacote pdb você precisa importar ou chamar na execução, basta colocar o comando breakpoint() no ponto onde deseja pausar a execução.

Os comandos que você pode usar no modo debug podem ser vistos na documentação do pdb: https://docs.python.org/3/library/pdb.html

Agora, para falar de IDEs, inicialmente devo fazer uma observação importante: Se você não usa um ambiente virtual, particularmente se tratando de linux, onde o sistema pode usar o python de forma integrada, você está correndo sérios riscos de quebrar o sistema, além de dificultar enormemente qualquer manutenção no ambiente python. Sendo assim, caso você não use um ambiente virtual, recomendo fortemente que o faça antes de prosseguir.

Aviso dado, vamos começar com os editores de código. Editores como Sublime, Geani, Notepad++, etc são editores de código rápido e podem ser configurados a ponto de se tornarem muito próximos à IDEs mas este processo é demorado, complexo e muito difícil.

Se você não tiver um guideline literalmente com o passo a passo para configurar esses editores exatamente como você quer, você pode levar meses até terminar a configuração e deixá-los “redondos” e mesmo assim, usualmente ficam inferiores se comparados à IDEs mais especializadas.

Dessa forma então vamos para as IDEs mais especializadas, iniciando pelas mais simples, que fazem parte de pacotes como o conda e/ou podem ser instaladas diretamente do repositório do pypi via pip:

1 - Na IDE nativa do python, o IDLE, para entrar em modo debug desde o início do script, basta adicionar o breakpoint() onde deseja pausar a execução. Este método é nativo do python e não exige a instalação de nada adicional.

2 - Caso você esteja criando apenas pequenos scripts de teste e não tenha a real necessidade de criar um arquivo estruturado py, você pode usar o jupyter notebook e colocar células entre os blocos de código que está escrevendo para verificar o funcionamento do código. Essa alternativa é uma das mais populares dentre os estudantes de python mas, pessoalmente, considero uma péssima prática, já que dá a impressão para a pessoa que todo script em python será escrito de formaq amadora e separada por blocos.

Este recursos pode ser instalado tanto com o conda (mesmo no gerenciador gráfico do conda|) quanto pelo pip (https://pypi.org/project/notebook/).


(imagem do jupyter notebook tirada do google imagens, já que não tenho instalado o jupyter no meu ambiente windows, onde estou agora)

3 - Caso queira incrementar um pouco o jupyter notebook, a extensão jupyter lab melhora consideravelmente a interface do jupyter notebook e possibilita a instalação de um plugin que mostra, em tempo real, o valor das variáveis.

Este recurso depende do jupyter notebook instalado no seu ambiente python e pode ser instalado também via pip (https://pypi.org/project/jupyterlab/) ou conda.


(imagem do jupyter lab com plugin de debugger tirada do google imagens, já que não tenho instalado o jupyter no meu ambiente windows, onde estou agora)

Os dois métodos que envolvem o jupyter são práticos porque não possuem forte dependência com praticamente nada, apenas a instalação do python e um navegador, mas ambos possuem recursos extremamente limitados no quesito desenvolvimento. Considerando apenas os três métodos “independentes” que citei até agora, acredito que a melhor opção seria ainda usar o debug manual, seja com seu editor de preferência ou o próprio IDLE. Contudo, é agora que começamos a falar sério, já que agora vou citar algumas das principais IDEs de python.

3 - Começando pela última IDE que pode ser instalada pelo pip e também a IDE oficial do pacote conda, o Spyder. Com uma interface muito similar ao matlab/octave/scilab em aparência, onde existe um terminal ipython executando em tempo real, e também onde seus scripts serão executados, essa ide pode ser instalada diretamente pelo pip (https://pypi.org/project/spyder/) ou pelo conda no seu ambiente python e depende apenas de algumas bibliotecas do Qt5 instaladas. Esta IDE, quando tratamos de pequenos projetos ou scripts com enfoque científico, não deve em nada à IDEs mais completas como VScode ou PyCharm, possuindo outline, gerenciamento de projetos, buscas avançadas, gerenciamento de breakpoints, exibição em tempo real das variáveis que estão carregadas no ipython em execução (que pode/deve ser resetado por meio de uma tecla de atalho durante seu uso para evitar erros devido à lixo de memória).

Particularmente, mesmo trabalhando atualmente com IDEs muito mais completas, o Spyder ainda é, pra mim, a melhor plataforma de prototipagem que conheço em python.

Agora, vamos para as duas IDEs mais conhecidas para python e as mais amadas, mas que dependem de instalações externas:

1 - PyCharm, esta IDE é consideravelmente pesada mas é extremamente especializada. Provavelmente a solução mais completa porém, caso você queira sua versão realmente completa, é paga. A versão gratuita e open source não possui nenhum recurso realmente útil faltando, já que inclui até um bom ambiente gráfico para git.

2 - VScode, a IDE mais versátil de todas que citei até agora já que, para adicionar uma nova linguagem ao seu repertório, basta instalar um addon. Em relação à recursos, fica em pé de igualdade com o PyCharm porém, com alguns recursos um pouquinho mais difíceis de acessar, sendo esse o preço por ser uma IDE menos especializada.

Não descrevi muito as duas IDEs completas do fim (tanto que nem inclui imagens) já que não é seu objetivo instalar uma IDE tão pesada e especializada como o PyCharm ou, mesmo sendo extremamente generalista, não é seu objetivo instalar o VScode.

Particularmente, se eu estivesse na sua situação eu tentaria inicialmente manter usando o vim (já que é seu hábito) e usar o debugger interno do python simplesmente adicionando os breakpoint(). Caso sinta falta de algum recurso e queira expandir os horizontes, eu experimentaria usar o spyder, já que é uma IDE extremamente completa considerando o fato de ser extremamente leve e poder ser instalado diretamente com o pip ou conda, o que facilita MUITO tanto sua instalação quanto sua remoção.

5 curtidas

Muito obrigada a todos pelas sugestões e informações!
Felizmente consegui ajustar o Geany!

[SOLUÇÃO]: Meu Geany deve rodar arquivos no terminal do Xfce que é o meu ambite gráfico.

Este é o caminho a seguir: Editar → Preferências → Ferramentas
Em “Terminal”, coloque: xfce4-terminal -e "/bin/sh %c"
Depois é só executar o arquivo, basta ir em: Construir → Executar, ou dar f5 mesmo.
Ele será executado no terminal do Xfce.

Ufa, foi “simples”, mas realmente não conseguiria sem a ajuda da comunidade! Muito obrigada a todos!!!

2 curtidas