Pacotes de softwares para incrementar o Vim, para programar em Python.

mug with mustache bad photo

O Vim possui diversas bibliotecas e plugins, disponíveis para melhorar o seu desempenho, como programador(a) em qualquer linguagem.
Neste post, pretendo mostrar uma série de pacotes de softwares, disponíveis nos repositórios oficiais, que podem ajudar a melhorar o seu dia a dia como desenvolvedor(a) em Python.

Só para contextualizar, escrevo usando o Debian GNU/Linux 10 “Buster” testing. Os pacotes, contudo, devem estar disponíveis para você, sob os mesmos nomes, mesmo que sua distro seja diferente da minha.

Como encontrar os pacotes para Vim e Python

O comando ‘search’ pode ser usado no gestor de pacotes do Debian/Ubuntu (apt) e nas distros derivadas do Fedora (dnf ou yum):


apt search python | grep -i vim

ou, ainda…


dnf search python | grep -i vim

Se quiser saber mais sobre o comando grep, clique aqui.
Para mim, o resultado foi o seguinte:

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  arquivos de desenvolvimento para o flow-tools
  bibliotecas de desenvolvimento de Driver de transporte Multi-ponto HP (hpmud)
  biblioteca para gráficos científicos (arquivos de desenvolvimento)
  arquivos de desenvolvimento de integração de loop principal para python-dbus
  cabeçalhos de desenvolvimento para os vínculos Python GObject estáticos
  vínculos SDL para desenvolvimento de jogos em Python
  Keyboard-driven, vim-like browser based on PyQt5
vim-athena/testing 2:8.0.1401-2 amd64
vim-autopep8/testing 1.0.7-1 all
  vim plugin to apply autopep8
vim-gtk/testing,now 2:8.0.1401-2 amd64 [installed,automatic]
vim-gtk3/testing 2:8.0.1401-2 amd64
vim-khuno/testing 1.0.3-1 all
  Python flakes Vim plugin
vim-nox/testing 2:8.0.1401-2 amd64
vim-python-jedi/testing 0.11.1-1 all
  autocompletion tool for Python - VIM addon files
vim-syntastic/testing 3.8.0-1 all
  Syntax checking hacks for vim
vim-voom/testing 5.2-1 all
  Vim two-pane outliner

Todos podem ser instalados via apt ou dnf, mas o ideal talvez seja usar o vim-addons, seguido pelo nome do pacote.
Vamos falar sobre alguns destes, que sejam (pelo menos, quase) exclusivamente para Python.

Pacote de ajustes sintáticos para o Vim

O pacote vim-syntastic oferece hacks de sintaxe para o editor Vim.
Trata-se de um plugin que verifica a sintaxe, usando programas externos.
Os eventuais erros encontrados serão exibidos ao usuário.
Pode ser feito sob demanda ou apenas quando o arquivo for gravado (salvo).
Em arquivos grandes pode haver economia significativa de tempo, uma vez que você não vai precisar sequer compilar seu código para descobrir que tem erros de sintaxe lá dentro.

O vim-syntastic tem suporte a várias outras linguagens também.

Ferramenta de autocomplemento para Vim

O pacote vim-python-jedi é uma ferramenta de autocomplemento para a linguagem Python, dentro do Vim.
Funciona com ou sem os erros de sintaxe (fica o aviso).
No geral, consegue entender quase todos os elementos sintáticos básicos do Python, incluindo muitos builtins.

Flakes no Vim

O plugin khuno vai instalar também o Flakes, que será usado para analisar o seu código de acordo com o Flake8.
Disponibiliza os seguintes recursos:

  1. Análise sintática é executada assincronamente (non-blocking)
  2. O assistente exibe mensagens de erro na linha de status
  3. Use um Buffer à parte, para exibir erros

Se tiver mais dicas, conta pra gente, nos comentários! 😀

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 48 outros assinantes

Como instalar a versão alpha do Python no Debian testing através do repositório experimental

Se você precisa ou deseja usar a versão mais atual do Python no Debian testing, pode adicionar o repositório experimental.
É neste repositório que ficam os pacotes de software ainda em alpha, como é o caso, hoje, do Python 3.7 entre inúmeros outros softwares.

Antes de prosseguir, eu não saberia como enfatizar o suficiente: você pode danificar o seu sistema, se aplicar os procedimentos descritos neste post.
Você foi avisado.

“Misturar repositórios” é a maneira mais fácil e rápida de tornar o seu sistema totalmente inutilizável.
Se você precisa usar softwares em fase experimental ou, pelo menos, mais atualizados, o correto é usar outra distro, como o Debian unstable ou o Ubuntu (não-LTS) mais atual.

Para ter acesso aos pacotes, o que inclui as versões em desenvolvimento do Python, adicione a seguinte linha ao final do arquivo /etc/apt/sources.list:


deb http://deb.debian.org/debian experimental main

Em seguida, atualize os repositórios:


sudo apt update

Em seguida, é só instalar:


sudo apt install python3.7

[sudo] senha para justincase: 

Lendo listas de pacotes... Pronto
Construindo árvore de dependências       
Lendo informação de estado... Pronto
The following additional packages will be installed:
  libpython3.7-minimal libpython3.7-stdlib python3.7-minimal
Pacotes sugeridos:
  python3.7-venv python3.7-doc binfmt-support
Os NOVOS pacotes a seguir serão instalados:
  libpython3.7-minimal libpython3.7-stdlib python3.7 python3.7-minimal
0 pacotes atualizados, 4 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 4.071 kB de arquivos.
Depois desta operação, 22,5 MB adicionais de espaço em disco serão usados.
Você quer continuar? [S/n] 

Usar o alpha de um software é uma ótima forma de ajudar os desenvolvedores, se você pretende dar feedback sobre o seu uso e ajudar a resolver bugs.
Para todos os outros usuários, este repositório pode ser uma bela fonte de dor de cabeça.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 48 outros assinantes

Como criar scripts Python

Usuários Linux podem criar scripts em, praticamente, qualquer linguagem de programação, para executar diretamente na shell, sem a necessidade de compilar previamente qualquer coisa.
Claro que há algumas regras ou requisitos a serem preenchidos — e vamos falar disso aqui.

Não é complicado.
Vou usar, como exemplo, um código bem simples (abaixo).
Use o seu editor de textos favorito para escrever:


nome = input("Qual é o seu nome? ")
print("Você se chama "+nome+"? Hah! Que nome engraçado!")

Grave o arquivo com qualquer nome.
No meu exemplo, gravei como “nome.py”.
A função da extensão, no Linux, é ajudar você a identificar visualmente os tipos de arquivos.
O Linux não precisa de extensões para isto. Portanto, ela é opcional.
Na linha de comando (CLI), rode o interpretador Python (versão 3 ou superior, neste caso) acompanhado do arquivo de código.


python3 nome.py

Qual é o seu nome? elias
Você se chama elias? Hah! Que nome engraçado!

Infelizmente, você não pode simplesmente executar o arquivo de script diretamente, do jeito que ele está.
Se o fizer, o sistema irá informar que você não tem permissão para executar este código:


./nome.py

bash: ./nome.py: Permissão negada

Para resolver o problema da permissão, use o comando chmod:


chmod +x nome.py 

Mas isto ainda não é o suficiente!
Agora, já é possível rodar o código… mas a shell do seu sistema não irá entender nada:


./nome.py 
./nome.py: linha 1: erro de sintaxe próximo ao token inesperado `('
./nome.py: linha 1: `nome = input("Qual é o seu nome? ")'

Ainda é necessário indicar, dentro do script, qual interpretador deve ser usado para executá-lo.
Na primeira linha insira o seguinte código:

#!/bin/python3

Esta linha se chama “shebang“.
Agora, já será possível rodar o programa, direto na CLI, sem precisar indicar mais nada:

./nome.py 
Qual é o seu nome? elias
Você se chama elias? Hah! Que nome engraçado!

Simples, não é?
Você gostaria de saber por que é necessário usar ‘ ./ ‘ antes do nome do programa?! Então leia este artigo.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 48 outros assinantes