Como instalar a ferramenta de gestão de pacotes Python, PIP

O pip é um sistema usado para instalar e gerenciar especificamente pacotes de softwares desenvolvidos em Python.
Além dos milhares de pacotes disponíveis no repositório oficial da sua distro favorita, você pode encontrar um número crescente de pacotes dentro do PyPI, ou Python Package Index.

Você usa o pip para instalar aplicações escritas para a série Python2 (Python 2.7.9 em diante) o pip3 para instalar as que foram projetadas para usar os recursos mais avançados do Python 3.4 em diante.
python logo
Leia também o nosso Guia de uso do pip.

Como instalar o pip no Linux

Se você já tem o Python, versão 2.7 ou 3.4 instalado, o pip já pode estar presente no seu sistema — se você baixou e instalou uma destas versões do Python a partir do python.org, então está.
— Neste caso, pule para o tópico da atualização, mais embaixo.
Caso contrário, faça o download do instalador:
https://bootstrap.pypa.io/get-pip.py.
Se preferir, faça o download com o wget, a partir do terminal:

wget https://bootstrap.pypa.io/get-pip.py

Em seguida, execute o instalador, invocando o interpretador Python (com privilégios administrativos):

python get-pip.py

Adicionalmente, você pode instalar a versão Python3 do pip, assim:

python3 get-pip.py 

Caso você faça a instalação adicional da versão python3, o pip padrão do seu sistema irá rodar nesta versão.
Novamente, não esqueça de usar privilégios administrativos para executar os comandos de instalação/update.
No meu sistema, foram baixadas e instaladas as seguintes versões do pip:

ls -1 /usr/local/bin/pip*
/usr/local/bin/pip
/usr/local/bin/pip2
/usr/local/bin/pip2.7
/usr/local/bin/pip3
/usr/local/bin/pip3.5

Para não fazer confusão, digite o nome do pip e versão específica que deseja executar. Por exemplo:

  • use pip2, para instalar aplicações desenvolvidas para Python2
  • use pip3, para instalar aplicações desenvolvidas para Python3

Ou use a versão padrão apenas.
Use a opção ‘–version’ para saber exatamente do que se trata:

pip --version
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages
 (python 3.5)

Como atualizar o pip

Uma vez instalado, você precisa se certificar de que está usando a versão mais recente do instalador.
Para isto, faça a atualização na linha de comando:

pip install -U pip

Para saber mais, leia também o Guia de uso do pip.

Como encontrar e instalar pacotes de softwares para FreeBSD com o pkg

A lista de aplicações disponíveis para FreeBSD cresce a cada dia.
Tal como em outros sistemas operacionais Unix-like, há várias maneiras de encontrar e instalar os pacotes de softwares que você precisa.
O FreeBSD, a exemplo de várias distribuições GNU/Linux, também seus sistemas de gestão de pacotes.

Como buscar os softwares disponíveis no repositório do FreeBSD

Se quiser fazer a busca por pacotes de softwares binários, dentro do repositório oficial, use o utilitário pkg.
Veja um exemplo:

pkg search tetris

Segue a relação de pacotes que contenham, em sua descrição, a string ‘tetris’:

patapizza-tetris-1.0_6         Unofficial clone of the original Tetris game
vitetris-0.57                  Terminal-based Tetris clone in vein of Nintendo Tetris

Na primeira coluna, vem o nome e a versão do pacote. Na segunda coluna, uma breve descrição.
Para obter a informação sobre a categoria a que cada pacote pertence, use a opção -o:

pkg search -o tetris 

Neste caso, todos os pacotes pertencem a categoria (origem) ‘jogos’ e a versão de cada um não será exibida na primeira coluna:

games/patapizza-tetris         Unofficial clone of the original Tetris game
games/vitetris                 Terminal-based Tetris clone in vein of Nintendo Tetris

Ao usar o ‘search’ simples, o gestor de pacotes pode oferecer informações sobre a versão da linguagem de programação (Python, PHP, Ruby, C etc.) sobre a qual aquele pacote foi construído.
No exemplo, abaixo:

pkg search subversion 
git-subversion-2.9.2           Distributed source code management tool with FreeBSD subversion bindings
java-subversion-1.9.4          Java bindings for Version control system
p5-subversion-1.9.4            Perl bindings for Version control system
py27-hgsubversion-1.8.6        Mercurial extension that allows using it as a Subversion client
py27-subversion-1.9.4          Python bindings for version control system
ruby-subversion-1.9.4          Ruby bindings for version control system

Recomendo usar o comando grep para filtrar resultados muito extensos e obter apenas o que necessita:

pkg search mp3 | grep player 
ksmp3play-0.5.2.1_4            Curses-based MP3 player
mp3blaster-3.2.5_5             MP3 console ncurses-based player
ximp3-0.1.15                   Simple console MP3 player

Como instalar aplicativos com o snap

O snap é uma nova abordagem para a instalação de aplicativos, lançada pela Canonical e disponível em sistemas operacionais baseados no Ubuntu 16.04 LTS (ou superior).
Terminal IBM3278
Para escrever este artigo, usei uma máquina com o KDE NEON User edition 5.8, baseado no Ubuntu 16.04 LTS.
A melhor maneira de entender o funcionamento do programa/comando snap é através de exemplos.

Como instalar aplicativos com o snap

No Ubuntu 16.04 LTS Xenial Xerus, o programa snap já vem instalado como padrão.
E ele é responsável pela interação com os pacotes snaps nos repositórios.
Sua sintaxe é semelhante à do comando apt:

sudo snap install nome-do-aplicativo

Um exemplo da “vida real”… para instalar o cliente Twitter Anatine, use o comando assim:

sudo snap install anatine

Como encontrar snaps para instalar no sistema

Use o comando ‘find’, para encontrar novos snaps, prontos para instalar em seu sistema.
Funciona semelhante ao ‘apt search’.
O comando requisita informações da “loja” de snaps e retorna os pacotes disponíveis para instalação imediata ou para compra.
O seu uso básico:

snap find twitter

Como você pode ver, tal como o apt, o snap não precisa de privilégios especiais para fazer buscas nos repositórios. Veja o meu resultado:

Name          Version              Developer        Notes  Summary
anatine       1.0.0-2-gacbd796-J1  claudioandre-br  -      Pristine Twitter app
caddy-hduran  0.9.3                hduran           -      The HTTP/2 web server with automatic HTTPS

Como listar os snaps instalados

Use o comando ‘list’ para obter uma relação dos snaps atualmente instalados no seu sistema.
Veja um exemplo:

snap list
Name             Version              Rev  Developer        Notes
anatine          1.0.0-2-gacbd796-J1  9    claudioandre-br  -
hexchat          2.12.3               6    tingping         -
telegram-latest  0.10.19              3    pain7            -
ubuntu-core      16.04.1              423  canonical        -
vlc              daily                1    videolan         -

Como remover snaps do sistema

Use o comando ‘remove’ para apagar os aplicativos snap que você não mais deseja ter instalados no seu sistema:

sudo snap remove hexchat
[sudo] password for justincase: 
hexchat removed

Como atualizar o Fedora.

Há inúmeras maneiras de atualizar o Fedora.
Uma delas é não fazer nada — você espera o aviso de atualização e confirma, com um toque na tela.
Contudo, há casos em que é necessário “pular” a atualização e deixá-la para depois. Quando você está envolvido em alguma atividade que já está fazendo uso intensivo da rede, por exemplo.
Fedora logo
Para este e muitos outros casos, sempre é possível atualizar o Fedora manualmente (como qualquer outra distro GNU/Linux).
Você pode usar o ambiente gráfico ou pode abrir um terminal e usufruir de toda a flexibilidade da linha de comandos — e este será o método adotado neste post.
Os exemplos deste artigo se baseiam em uma instalação do Fedora 24 — só para nos situarmos. Tudo deve funcionar igual em outras versões atuais do sistema operacional.

Como verificar se há atualizações para o Fedora

O dnf provê uma gestão de pacotes avançada e cômoda no Fedora. Se você está chegando aqui, do Ubuntu ou do Debian, vai se sentir em casa.
Se você vem de outros sistemas operacionais, que não sejam UNIX-like, pode precisar de um tempo para se adaptar — só até entender a lógica do procedimento.
Para verificar se há atualizações para o seu sistema, comece rodando o dnf com a opção “check-update”. Veja o exemplo:

dnf check-update

O resultado pode demorar (dependendo da sua conexão) e pode ser bastante extenso — principalmente, se esta for a primeira vez que o comando estiver sendo executado no seu sistema.
O meu resultado (parcial) foi o seguinte:

Last metadata expiration check: 2:24:42 ago on Mon Aug  1 09:50:54 2016.

GeoIP-GeoLite-data.noarch              2016.05-1.fc24            fedora         
GeoIP-GeoLite-data.noarch              2016.07-1.fc24            updates        
ModemManager.x86_64                    1.6-0.3.rc3.fc24          fedora         
ModemManager.x86_64                    1.6.0-1.fc24              updates-testing

...

NetworkManager.x86_64                  1:1.2.2-1.fc24            fedora         
NetworkManager.x86_64                  1:1.2.2-2.fc24            updates        
NetworkManager-adsl.x86_64             1:1.2.2-1.fc24            fedora   

Complementarmente (e opcionalmente), você também pode inquirir o sistema sobre as atualizações que há para fazer. Veja como fazer isto:

dnf updateinfo

O comando acima irá retornar informações genéricas sobre as atualizações disponíveis para o seu sistema. Veja um resultado típico:

Last metadata expiration check: 3:07:16 ago on Mon Aug  1 09:50:54 2016.
Updates Information Summary: available
    29 Security notice(s)
    87 Bugfix notice(s)
    45 Enhancement notice(s)
     1 other notice(s)

Acima, é possível ver um resumo das informações sobre as atualizações (se estiverem) disponíveis. Vamos tentar explicá-las melhor, abaixo:

  • a última verificação dos metadados dos pacotes dos repositórios;
  • resumo das informações de atualização: available (ou disponível);
  • 29 notificações de segurança;
  • 87 correções de bugs (ou erros);
  • 45 notificações de melhorias;
  • 1 outra notificação.

Se usar o comando dnf -v updateinfo o gestor irá fornecer informações ainda mais detalhadas.
As 29 notificações de segurança e as 87 correções de erros, no sistema exemplificado, já são motivos suficientes para atualizá-lo de imediato.
Fedora 24 screenshot

Como aplicar a atualização do sistema no Fedora

O exemplo usado é o de um sistema recém instalado e que ainda não foi atualizado — há mais de 400 MB de coisas para baixar, aqui.
A atualização é feita com a opção “upgrade”:

sudo dnf upgrade

Note que o comando precisa ser dado com privilégios administrativos.
Fedora 24 terminal update
Você pode rolar a lista de atualizações com o mouse e, se quiser, confirmar que o dnf prossiga.

Use o checkinstall para criar pacotes gerenciáveis dos aplicativos que você compila no seu sistema.

Compilar softwares a partir do código fonte, é um método de instalação que possibilita obter a versão mais atual do seu aplicativo.
Outra vantagem, é poder construir automaticamente software feito sob medida para o seu sistema.
Este texto complementa o artigo Como Compilar Código Fonte de Programas no Linux.
Na maioria das vezes, é muito fácil compilar software. Mas esta abordagem traz algumas desvantagens ou riscos que convém enumerar:

  • O software compilado não participa das atualizações automáticas do sistema. Se o objetivo era ter a versão mais atual, com o tempo, você pode acabar com uma versão desatualizada do seu aplicativo favorito.
    Isto significa também que ele não receberá correções para novos bugs, à medida em que são descobertos. Tampouco receberá patches de segurança.
    Resumindo, você terá que fazer as atualizações manualmente, se quiser.
  • Em alguns casos, pode ser complicado remover software instalado através deste método. Se você não sabe exatamente aonde foi gravado cada arquivo associado do aplicativo principal, pode acabar com um sistema cheio de coisas que não usa mais.
  • Pode haver perda de dados, em casos (embora raros) de conflito com o restante do sistema.

No texto Como Preservar a Integridade e a Estabilidade da sua Instalação Debian, são enumeradas as várias armadilhas que podem quebrar o seu sistema. Entre elas, compilar softwares do código fonte.

Como usar o checkinstall

Para solucionar parte destes problemas, use o checkinstall.
Este utilitário pode ajudar a rastrear softwares locais e a produzir arquivos binários que podem ser manipulados pelo seu aplicativo de gestão de pacotes.

O checkinstall produz um pacote binário que pode ser gerenciado pelo sistema de gestão de pacotes — facilitando, entre outras coisas, a futura desinstalação.

Trata-se de um programa que monitora o processo de instalação feito por ‘make install’ ou por um script ‘install.sh’ e cria um pacote padrão para a sua distribuição.
Atualmente, o checkinstall suporta pacotes deb, rpm e tgz — que podem ser usados, respectivamente, pelos gestores dpkg, rpm e installpkg.
Na maioria dos casos, o checkinstall precisa ser executado com privilégios administrativos, para ser realmente útil.
Sua sintaxe segue o padrão de linha de comando GNU:
checkinstall opções comando-de-instalação
Seu funcionamento segue os seguintes passos:

# entre no diretório em que se encontra o código fonte
./configure
make
sudo checkinstall

Se você prefere gerar pacotes .deb, para o seu sistema Debian/Ubuntu, use a opção ‘-D’:

sudo checkinstall -D 

Se preferir gerar pacotes RPM, use a opção ‘-R’; ou ‘-S’, para criar um pacote Slackware.
Use a opção ‘–install=no’ para evitar a instalação automática do pacote.
O exemplo, abaixo, cria um pacote RPM e sai, sem instalar nada:

sudo checkinstall -R --install=no

O novo pacote criado, ficará disponível no mesmo local em que você executou o comando. Basta usar o comando ls, para encontrá-lo.

Referências

https://manpages.debian.org/cgi-bin/man.cgi?sektion=8&query=checkinstall&apropos=0&manpath=sid&locale=en.
https://wiki.debian.org/CheckInstall.