Como gerenciar pacotes Python usando PIP
PIP, o gerenciador de pacotes python, é usado para instalar, atualizar e remover pacotes escritos na linguagem de programação Python. Neste guia, discutiremos como instalar o pip e gerenciar pacotes python, como instalar, atualizar e remover pacotes usando pip. Além disso, veremos o que é ambiente virtual, como criá-lo e como isolar pacotes no ambiente virtual usando ferramentas venv e/ou virtualenv.
Instale o pip usando gerenciadores de pacotes
No Arch Linux e suas variantes como Antergos, Manjaro Linux, você pode instalar o pip usando o comando:
Python 2:
sudo pacman -S python2-pip python2-wheel python2-setuptools
Python 3:
sudo pacman -S python-pip python-wheel python-setuptools
No Fedora 21:
Python 2:
sudo yum upgrade python-setuptools
sudo yum install python-pip python-wheel
Python 3:
sudo yum install python3 python3-wheel
Fedora 22:
Python 2:
sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel
Python 3:
sudo dnf install python3 python3-wheel
Para obter versões mais recentes de pip, setuptools e wheel para Python 2, habilite o PyPA Copr Repo usando o comando:
dnf copr enable pypa/pypa
e então execute:
sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel
No CentOS/RHEL:
Pip e wheel não estão disponíveis nos repositórios padrão do CentOS e RHEL. Para instalar o pip no CentOS, RHEL, Scientific Linux e outros sistemas baseados em RPM, habilite o repositório EPEL usando o comando:
sudo yum install epel-release
E então execute o seguinte comando para instalar o pip:
sudo yum install python-pip
sudo yum install python-wheel
Como o pacote setup-tools está disponível nos repositórios padrão, você pode instalá-lo usando o comando:
sudo yum upgrade python-setuptools
Python 3:
sudo yum install python3-pip
openSUSE:
Python 2:
sudo zypper install python-pip python-setuptools python-wheel
Python 3:
sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu:
Para Python 2.x:
sudo apt-get install python-pip
Para Python 3.x:
Substitua “python” por “python3” para instalar a versão Python 3.x.
sudo apt-get install python3-pip
Na versão Ubuntu 12.04, o pip3 não veio empacotado. Se estiver usando o Ubuntu 12.04, você pode instalar o pip3 usando os seguintes comandos:
sudo apt-get install python3-setuptools
sudo easy_install3 pip
Instalando pip a partir de binários
Se você quiser instalar o pip a partir de binários, basta executar:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Observe que get-pip.py também instalará setuptools e wheel. Como mencionei anteriormente, algumas distribuições Linux não possuem roda nos repositórios principais. Nesses casos, pode ser necessário adicionar alguns repositórios de terceiros, por exemplo EPEL.
pip já está instalado se você estiver usando binários Python 2 >=2.7.9 ou Python 3 >=3.4 baixados de python.org. No entanto, você precisará atualizar o pip usando o comando:
sudo pip install -U pip
Ou,
sudo pip install --upgrade pip
Para atualizar tudo (pip, setuptools, whell), execute:
sudo pip install --upgrade pip setuptools wheel
Para descobrir a versão instalada do pip/pip3, execute:
pip --version
Ou,
pip -V
A saída de exemplo seria:
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)
Criando Ambientes Virtuais
Antes de instalar qualquer pacote python, é recomendável criar um ambiente virtual. Por que precisamos criar um ambiente virtual? Você pode perguntar. Porque os “ambientes virtuais” do Python nos permitem instalar um pacote Python em um local isolado, em vez de instalá-lo globalmente.
Digamos que você queira instalar um pacote python, por exemplo youtube-dl, que precisa da versão 1 do LibFoo, mas outro aplicativo requer a versão 2. Como você pode usar esses dois aplicativos? Se você instalar tudo em /usr/lib/python2.7/site-packages ou /usr/lib/python3.6/site-packages (ou qualquer que seja o padrão da sua plataforma localização é), é fácil acabar em uma situação em que você atualiza acidentalmente um aplicativo que não deveria ser atualizado. Para evitar isso, isolamos os pacotes no ambiente virtual. Todos os ambientes virtuais possuem seus próprios diretórios de instalação e não interagem nem entram em conflito entre si.
Podemos criar ambientes Python isolados usando dois módulos, a saber:
- venv,
- ambiente virtual.
Para Python 2.x, você precisa instalar o virtualenv. Para fazer isso, execute:
sudo pip install virtualenv
Vamos criar um ambiente virtual agora.
Usando virtualenv:
virtualenv <DIR_NAME>
source <DIR_NAME>/bin/activate
Para Python 3.x, você precisa instalar o venv. Em sistemas baseados em Ubuntu, você pode instalá-lo usando o comando:
sudo apt-get install python3-venv
Agora crie um ambiente virtual usando venv:
python3 -m venv <DIR_NAME>
source <DIR_NAME>/bin/activate
Depois de executar o comando acima, você será colocado em seu ambiente virtual imediatamente.
Para desativar o ambiente virtual e voltar ao shell normal, execute:
deactivate
Gerenciar pacotes Python usando Pip
Agora veremos o uso básico mais comum do pip com exemplos.
Para visualizar a lista de todos os comandos pip e opções gerais, execute:
pip
Você deverá ver uma saída parecida com a abaixo.
Para saber o que o comando de instalação faz, execute:
pip install --help
O uso mais comum do pip é instalar a partir do PyPi (Python Package Index). PyPi é um repositório que contém todos os pacotes criados pela comunidade de desenvolvedores em Python.
Instalar pacotes
Crie primeiro o ambiente virtual conforme mostrado abaixo:
Usando virtualenv:
virtualenv MYENV
Substitua MYENV pelo seu próprio nome.
Usando venv:
python3 -m venv MYENV
Finalmente, ative-o usando o comando:
source MYENV/bin/activate
Depois de executar o comando acima, você será colocado em seu ambiente virtual:
Agora é hora de instalar alguns pacotes. Para instalar um pacote, por exemplo youtube-dl, execute:
pip install youtube-dl
Este comando instalará o youtube-dl com todas as suas dependências.
Para instalar uma versão específica, execute:
pip install youtube_dl=2017.12.14
Para instalar uma versão diferente da versão especificada, execute:
pip install youtube_dl!=2017.12.14
Observe o '!" na frente do símbolo de igual.
Para instalar uma versão igual ou superior à versão especificada, execute:
pip install youtube_dl>=2017.12.14
Para instalar uma versão no intervalo específico, por exemplo maior ou igual a uma versão e menor que outra, execute:
pip install youtube_dl>=2017.12.14, <2017.12.20
Para instalar uma versão “compatível” com uma determinada versão:
pip install youtube_dl~=2017.12.14
Baixar pacotes
Para baixar um pacote com todas as dependências (sem instalá-lo), execute:
pip download youtube-dl
Listar todos os pacotes instalados
Para descobrir quais pacotes foram instalados pelo pip, execute:
pip freeze
Ou,
pip list
Esses comandos exibirão todos os pacotes instalados usando pip em seu sistema.
Pesquisar pacotes
Para procurar um pacote específico, por exemplo youtube-dl, execute:
pip search youtube-dl
Este comando irá pesquisar e exibir o resultado que corresponde à string "youtube-dl".
Atualizar pacotes
Para listar todos os pacotes desatualizados em um formato de coluna tabular simples, execute:
pip list --outdated --format=columns
Para atualizar um pacote desatualizado, execute:
pip install --upgrade youtube-dl
Também podemos despejar todos os pacotes em um arquivo e atualizá-los de uma só vez. Primeiro, exporte todos os arquivos para um arquivo:
pip freeze > mypackages.txt
Agora atualize todos os pacotes de uma vez usando o comando:
pip install -r mypackages.txt --upgrade
Ou,
pip install -r mypackages.txt -U
Se o comando acima não funcionou por algum motivo, use o seguinte comando para atualizar todos os pacotes de uma vez:
pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
Exporte todos os pacotes instalados em um arquivo
Às vezes, você pode querer exportar todos os pacotes instalados em um arquivo para testá-los em um ambiente diferente. Para fazer isso, execute:
pip freeze > MYENV_packages.txt
Agora, desative o ambiente virtual atual:
deactivate
e crie um novo usando comandos:
virtualenv MYENV1
Substitua MYENV1 pelo seu próprio nome.
Usando venv:
python3 -m venv MYENV1
Ative o ambiente recém-criado:
source MYENV1/bin/activate
Agora, instale todos os pacotes que exportamos anteriormente.
pip install -r MYENV_packages.txt
Para instalar tudo de uma vez sem interação do usuário, execute:
pip install -r MYENV_packages.txt -y
Da mesma forma, você pode remover todos os pacotes da lista usando o comando:
pip uninstall -r MYENV_packages.txt -y
Ver informações do pacote
Para visualizar os detalhes de um pacote, execute:
$ pip show youtube-dl
Name: youtube-dl
Version: 2017.12.14
Summary: YouTube video downloader
Home-page: https://github.com/rg3/youtube-dl
Author: Sergey M.
Author-email: dstftw@gmail.com
License: UNKNOWN
Location: /home/sk/MYENV/lib/python3.6/site-packages
Requires:
Ver dependências do pacote
Podemos visualizar as dependências de todos os pacotes instalados usando a ferramenta “pipdeptree”.
Instale-o usando o comando:
pip install pipdeptree
Depois de instalado, você pode visualizar a árvore de dependências usando o comando:
pipdeptree
Desinstalar pacotes
Para desinstalar/remover um pacote instalado, execute:
pip uninstall youtube-dl
Para desinstalar vários pacotes, especifique-os separados por vírgulas como abaixo:
pip uninstall package1, package2
Para remover todos os pacotes python instalados usando pip, execute:
pip freeze | xargs pip uninstall -y
Às vezes, o pip não permite desinstalar pacotes pertencentes ao sistema operacional. Nesses casos, você pode desinstalar todos os pacotes que não pertencem ao sistema operacional usando o comando:
pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')
Como mencionei na seção anterior, podemos despejar todos os pacotes instalados em um arquivo e desinstalá-los da lista usando o comando:
pip uninstall -r MYENV_packages.txt -y
Nesta fase, você pode ter uma ideia sobre o pip e seu uso. Para mais detalhes, consulte a documentação oficial e a seção de ajuda do pip executando o seguinte comando:
pip --help
Ou apenas,
pip
Leitura sugerida:
- Pipenv – a ferramenta de empacotamento Python oficialmente recomendada
- Pipx – Instale e execute aplicativos Python em ambientes isolados
E isso é tudo por agora. Espero que isso tenha sido útil.
Recurso:
- Página inicial do PIP