..

Менеджер пакетов PIP. Гайд по использованию

PIP — это менеджер пакетов. Он позволяет устанавливать и управлять пакетами на Python.

Представьте себе ситуацию: вы собираете проект и подключаете множество сторонних библиотек для реализации своей задачи. Если это делать вручную, процесс выглядит примерно так:

Вполне вероятно, что эта версия библиотеки вообще не подходит, и весь процесс повторяется заново. А если таких библиотек 10? Устанавливать их вручную?

Нет 🙅🏻‍♂️

Менеджер пакетов PIP — решает данную проблему. Весь процесс установки пакета сводится к выполнению консольной команды pip install package-name. Несложно представить, сколько времени это экономит.

Если вы работали с другими языками программирования, концепция pip может показаться вам знакомой. Pip похож на npm (в Javascript), composer (в PHP) или gem (в Ruby).

PIP является стандартным менеджером пакетов в Python

pip или pip3?

В зависимости от того, какая версия Python установлена в системе, может потребоваться использовать pip3 вместо pip.

Если вы не знаете какая версия Python установлена на вашей системе, выполните следующие команды:

Советуем использовать версию Python 3.6 и выше

Далее нужно убедиться, что сам PIP установлен и работает корректно. Узнать это поможет команда:

pip --version

Команда отобразит в консоли версию pip, путь до pip и версию python, для которой в дальнейшем будут устанавливаться пакеты:

pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)

☝️ Важный момент: в зависимости от того, какую версию Python вы будете использовать, команда может выглядеть как pip , pip3 или pip3.8

Альтернативный вариант вызова pip:

python3.7 -m pip install package-name

Флаг -m сообщает Python-у запустить pip как исполняемый модуль.

Если pip не установлен

Pip поставляется вместе с Python, и доступен после его установки. Если по какой-то причине pip не установлен на вашей системе, установить его будет не сложно.

Windows:

Для Питона 2-й версии, выполните команду: apt-get install python-pip

Для Питона 3-ей версии: apt-get install python3-pip

MacOS скачайте файл get-pip.py командой curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py; запустите скачанный файл командой: python get-pip.py или python3 get-pip.py. Должна появиться запись Successfully Installed. Процесс закончен, можно приступать к работе с PIP на MacOS!

Как обновить PIP Иногда, при установке очередного пакета, можно видеть сообщение о том, что доступна новая версия pip.

WARNING: You are using pip version 19.2.3, however version 19.3.1 is available. А в следующей за ней строке

You should consider upgrading via the ‘python -m pip install –upgrade pip’ command. указана команда для обновления pip:

python -m pip install –upgrade pip Команды PIP Синтаксис pip выглядит следующим образом: pip + команда + доп. опции

pip [options] Со всеми командами pip можно ознакомиться, выполнив pip help . Информацию по конкретной команде выведет pip help .

Рассмотрим команды pip:

  1. pip install package-name — устанавливает последнюю версию пакета;
  2. pip install package-name==4.8.2 — устанавливает пакет версии 4.8.2;
  3. pip install package-name --upgrade — обновляет версию пакета;
  4. pip download — скачивает пакеты;
  5. pip uninstall — удаляет пакеты;
  6. pip freeze — выводит список установленных пакетов в необходимом формате ( обычно используется для записи в requirements.txt);
  7. pip list — выводит список установленных пакетов;
  8. pip list –outdated — выводит список устаревших пакетов;
  9. pip show — показывает информацию об установленном пакете;
  10. pip check— проверяет установленные пакеты на совместимость зависимостей;
  11. pip search — по введенному названию, ищет пакеты, опубликованные в PyPI;
  12. pip wheel — собирает wheel-архив по вашим требованиям и зависимостям;
  13. pip hash — вычисляет хеши архивов пакетов;
  14. pip completion — вспомогательная команда используется для завершения основной команды;
  15. pip help — помощь по командам.

Пример работы с пакетами PIP позволяет устанавливать, обновлять и удалять пакеты на компьютере. Ниже попробуем разобраться с работой менеджера pip на примере парсинга названий свежих статей на сайте habr.com.

установим нужные пакеты; импортируем пакет в свой скрипте; разберемся, что такое requirements.txt; обновим/удалим установленные пакеты. Приступим 🙎🏻‍♂️

Шаг #1 Установка.

Для начала, нам необходимо установить beautifulsoup4 — библиотеку для парсинга информации с веб-сайтов.

pip3 install beautifulsoup4 pip найдет последнюю версию пакета в официальном репозитории pypi.org. После скачает его со всеми необходимыми зависимостями и установит в вашу систему. Если вам нужно установить определенную версию пакета, укажите её вручную:

pip3 install beautifulsoup4==4.8.2 Данная команда способна даже перезаписать текущую версию на ту, что вы укажите.

Также для работы beautifulsoup нам понадобится пакет lxml:

pip install lxml ☝️ Важный момент: по умолчанию pip устанавливает пакеты глобально. Это может привести к конфликтам между версиями пакетов. На практике, чтобы изолировать пакеты текущего проекта, создают виртуальное окружение (virtualenv).

Шаг #2 Импортирование в скрипте.

Для того чтобы воспользоваться функционалом установленного пакета, подключим его в наш скрипт, и напишем простой парсер:

#скачиваем html
from urllib.request import urlopen
from bs4 import BeautifulSoup
page = urlopen("https://habr.com/ru/top/")
content = page.read()

#сохраняем html в виде объекта BeautifulSoup
soup = BeautifulSoup(content, "lxml")

#Находим все теги "a" с классом "post__title_link"
all_a_titles = soup.findAll("a", { "class" : "post__title_link" })

#Проходим по каждому найденному тегу и выводим на экран название статьи
for a_title in all_a_titles:
    print(a_title.text)

Шаг #3 requirements.txt.

Если вы просматривали какие-либо проекты Python на Github или где-либо еще, вы, вероятно, заметили файл под названием requirements.txt. Этот файл используется для указания того, какие пакеты необходимы для запуска проекта (в нашем случае beautifulsoup4 и lxml).

Файл requirements.txt создается командой:

pip freeze > requirements.txt и выглядит следующим образом:

beautifulsoup4==4.8.2
lxml==4.4.2
soupsieve==1.9.5

Теперь ваш скрипт вместе с файлом requirements.txt можно сохранить в системе контроля версий (например git).

Для работы парсера в новом месте (например на компьютере другого разработчика или на удаленном сервере) необходимо затянуть файлы из системы контроля версий и выполнить команду: pip install -r requirements.txt

Шаг #4 Обновление/удаление установленных пакетов.

Команда pip list –outdated выведет список всех устаревших пакетов. Обновить отдельно выбранный пакет поможет команда: pip install package-name --upgrade

Однако бывают ситуации, когда нужно обновить сразу все пакеты из requirements.txt. Достаточно выполнить команду: pip install -r requirements.txt --upgrade

Для удаления пакета выполните: pip uninstall package-name

Для удаления всех пакетов из requirements.txt: pip uninstall -r requirements.txt -y