Python pip

Neste tutorial, aprenderemos como usar o pip para instalar e gerenciar pacotes Python.

O que é pip?

pipé o gerenciador de pacotes padrão para Python. Podemos usar pippara instalar pacotes adicionais que não estão disponíveis na biblioteca padrão do Python. Por exemplo,

 pip install numpy 

Se tivéssemos instalado pipem nosso sistema, este comando teria instalado a numpybiblioteca.

Como instalar o pip?

pipvem pré-instalado nas versões 3.4 ou anteriores do Python. Podemos verificar se pipestá instalado usando o seguinte comando no console:

 pip --version 

Caso pipjá esteja disponível no sistema, pipserá exibida a respectiva versão, assim:

 pip 19.3.1 de C: Python37 lib site-packages pip (python 3.7) 

Se estivermos usando uma versão mais antiga do Python ou não tivermos pipinstalado por algum outro motivo, siga as etapas descritas neste link: instalação pip

Usando pip

pipé um programa de linha de comando. Após a instalação, pipé adicionado um comando que pode ser usado com o prompt de comando.

A sintaxe básica do pip é:

 pip 

Instalando pacotes com pip

Além da biblioteca Python padrão, a comunidade Python contribui com um grande número de pacotes personalizados para várias estruturas de desenvolvimento, ferramentas e bibliotecas.

A maioria desses pacotes é oficialmente hospedada e publicada no Python Package Index (PyPI). pipnos permite baixar e instalar esses pacotes.

Instalação de pacote básico

O installcomando usado para instalar pacotes usando pip. Vamos dar um exemplo:

Suponha que desejamos instalar requestsuma biblioteca HTTP popular para Python. Podemos fazer isso com a ajuda do seguinte comando.

 pip install requests 

Resultado

Coletando solicitações usando https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl Usando cachedet = 3.0. .pythonhosted.org / packages / bc / a9 / 01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8 / chardet-3.0.4-py2.py3-none-any.whl Coletando urllib3! = 1.25.0,! = 1.21.1 //files.pythonhosted.org/packages/b4/40/a9837291310ee1ccc242ceb6ebfd9eb21539649f193a7c8c86ba15b98539/urllib3-1.25.7-py2.py3-none-any.whl Coletando idna = 2.5 Usando cachedonages/hosted14.py /2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl Coletando certifi> = 2017.4.17 Baixando https: //files.pythonhosted.org / packages / b9 / 63 / df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99 / certifi-2019.11.28-py2.py3-none-any.whl (156kB) Instalando pacotes coletados: chardet, certifi-id, urllib3, certifi.28 2019.11.28. 3.0.4 idna-2.8 solicitações-2.22.0 urllib3-1.25.7

Aqui, podemos ver que o pipfoi usado com o installcomando seguido do nome do pacote que queremos instalar ( requests).

Todas as outras dependências como chardet, urllib3e certifinecessárias para este pacote também são instaladas por pip.

Especificando a versão do pacote

Quando pip installusado em sua forma mínima, pipbaixa a versão mais recente do pacote.

Às vezes, apenas uma versão específica é compatível com outros programas. Portanto, podemos definir a versão do pacote da seguinte maneira:

 solicitações de instalação pip == 2.21.0 

Aqui, instalamos a versão 2.11.0 da requestsbiblioteca.

Listando pacotes instalados com pip

O pip listcomando pode ser usado para listar todos os pacotes disponíveis no ambiente Python atual.

 pip list 

Resultado

 Versão do pacote ---------- ---------- certifi 2019.11.28 chardet 3.0.4 idna 2.8 pip 19.3.1 solicitações 2.22.0 setuptools 45.0.0 urllib3 1.25.7 wheel 0.33 .6 

Informações do pacote com pip show

O pip showcomando exibe informações sobre um ou mais pacotes instalados. Vejamos um exemplo:

 pip show requests 

Resultado

Nome: solicitações Versão: 2.22.0 Resumo: Python HTTP para humanos. Home-page: http://python-requests.org Autor: Kenneth Reitz Autor-email: [email protected] Licença: Apache 2.0 Localização: c: users dell desktop venv lib site-packages Requer: certifi, chardet, urllib3, idna Requerido por:

Aqui, o showcomando exibe informações sobre a requestsbiblioteca. Observe as colunas Requer e Requerido por na saída acima.

A coluna Requer mostra quais dependências a requestsbiblioteca requer. E a coluna Requerido por mostra os pacotes que requerem requests.

Desinstalando um pacote com pip

Podemos desinstalar um pacote usando pipcom o pip uninstallcomando.

Suponha que desejemos remover a requestsbiblioteca de nosso ambiente Python atual. Podemos fazer isso da seguinte maneira:

 pip uninstall requests 

Resultado

Desinstalando solicitações-2.22.0: Removeria: C: Python37 lib site-packages requests-2.22.0.dist-info * C: Python37 lib site-packages requests * Prossiga (y / n)? y Solicitações desinstaladas com sucesso-2.22.0

Como podemos ver, o requestspacote é removido após o prompt final.

Note: Even though the specified package is removed, the packages that were installed as dependencies are not removed. In this case, the dependencies (chardet, urllib3, and certifi) of the requests library aren't uninstalled.

If we need to remove the dependencies of a package as well, we can use the pip show command to view installed packages and remove them manually.

Using Requirement Files

A file containing all the package names can also be used to install Python packages in batches.

Let's take a look at an example:

Suppose we have a file requirements.txt which has the following entries:

 numpy Pillow pygame 

We can install all these packages and their dependencies by using a single command in pip.

 pip install -r requirements.txt 

Output

 Collecting numpy Using cached https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl Collecting Pillow Using cached https://files.pythonhosted.org/packages/88/6b/66f502b5ea615f69433ae1e23ec786b2cdadbe41a5cfb1e1fabb4f9c6ce9/Pillow-7.0.0-cp37-cp37m-win_amd64.whl Collecting pygame Using cached https://files.pythonhosted.org/packages/ed/56/b63ab3724acff69f4080e54c4bc5f55d1fbdeeb19b92b70acf45e88a5908/pygame-1.9.6-cp37-cp37m-win_amd64.whl Installing collected packages: numpy, Pillow, pygame Successfully installed Pillow-7.0.0 numpy-1.18.1 pygame-1.9.6 

Here, we have used the same install command with pip.

However, the additional argument -r specifies pip that we are passing a requirements file rather than a package name.

Creating Requirements File

As an alternative to manually creating the requirements file, pip offers the freeze command. Let's look at how to use this command.

Suppose our current Python environment has the following packages. It can be displayed using pip list.

 Package Version ---------- ------- numpy 1.17.0 Pillow 6.1.0 pip 19.3.1 pygame 1.9.6 setuptools 45.0.0 wheel 0.33.6 

The packages that don't come preinstalled will Python are listed using the freeze command.

 pip freeze 

Output

 numpy==1.17.0 Pillow==6.1.0 pygame==1.9.6 

The pip freeze command displays the packages and their version in the format of the requirements file.

So this output can be redirected to create a requirements file using the following command:

 pip freeze> requirements.txt 

A new requirements.txt file is created in the working directory. It can later be used in other Python environments to install specific versions of packages.

Search packages in pip

The search command is used to search for packages in the command prompt. Let's look at an example:

 pip search pygame 

Output

 pygame-anisprite (1.0.0) - Animated sprites for PyGame! pygame-ai (0.1.2) - Videogame AI package for PyGame pygame-engine (0.0.6) - Simple pygame game engine. pygame-assets (0.1) - Assets manager for Pygame apps pygame-gui (0.4.2) - A GUI module for pygame 2 pygame-spritesheet (0.2.0) - Python pygame extension that provides SpriteSheet class. pygame-minesweeper (1.0) - Minesweeper game implemented in python using pygame pygame-menu (2.1.0) - A menu for pygame, simple, lightweight and easy to use pygame-plot (0.1) - Quick visualization of data using pygame with a matplotlib style pygame (1.9.6) - Python Game Development… 

Here, we have searched for a library called pygame. All other packages that match the keyword are displayed. This command is helpful for finding related packages.

Para saber mais sobre pip, visite: Python pip (documentação oficial)

Artigos interessantes...