Работа с pip для начинающих. Шпаргалка

Установка pip

pip - питоняшный менеджер пакетов. Устанавливает и удаляет пакеты, написанные с помощью python.

Проверяем, что установка прошла успешно:

Pip по умолчанию устанавливает пакеты из Python Package Index (PyPI) - крупнейшего каталога пакетов для python. Python Package Index - аналог CPAN для Perl и PEAR для PHP.

Страница помощи pip

Команда pip help - выводит список основных команд и опций pip. Можно использовать опцию --help для получения справки по конкретным командам pip.

Пример:

Как установить новый пакет или обновить ранее установленный

pip install package_name - установка нового пакета или обновление ранее установленного.

Полезные опции:

--help - подробная справка по команде install и ее опциям.

-r, --requirement <file> - установка пакетов по списку из указанного requirement-файла.
-U, --upgrade - обновление пакета до последней доступной версии.
-I, --ignore-installed - игнорировать уже установленные пакеты, не переустанавливать и не обновлять.
-i, --index-url <url> - ссылка на Python Package Index (по умолчанию - https://pypi.org/simple).
--force-reinstall - принудительная переустановка пакета.
--target <dir> - установка пакетов в указанную директорию.
--no-deps - установка пакета без зависимостей.
--user - установка пакета в директорию юзера.
--compile - компилировать файлы в байт-код.
--no-compile - не компилировать в байт-код.
--extra-index-url <url> - дополнительные адреса индексов пакетов.

Примеры:

Как удалить установленный пакет

pip uninstall package_name

Полезные опции:

-y, --yes - pip не будет запрашивать подтверждений, автоматическое согласие на все действия.
-r, --requirement <file> - удалить все пакеты, перечисленные в специальном requirement-файле.

Пример:

Как скачать пакет

pip download позволяет скачивать пакеты из PyPI или проекты из отдельно указанных систем контроля версий. Можно осуществлять загрузку списка пакетов из указанного файла requirements.txt.

Вычисление хэша для архива с помощью pip

Команда pip hash вычисляет хэш для указанного файла.

Полезная опция:

-a, --algorithm <algorithm> - позволяет указать "sha256", "sha384" или "sha512", чтобы выбрать предпочтительный алгоритм вычисления хэш-суммы.

Чтобы проверить, работает ли pip hash только с архивами пакетов python, я создала простой текстовый файл, который содержит внутри несколько чисел и скормила его pip hash:

Затем вычислила хэш-сумму с помощью shasum:

Результат идентичен.

Создание файла requirements.txt для проекта с помощью pip

В мире python достаточно часто используются файлы requirements.txt, которые содержат список всех необходимых пакетов для вашего приложения.

requirements.txt полезен как с точки зрения документирования проекта, так и для автоматической установки необходимого проекту окружения - пакетов со всеми их зависимостями.

Файл requirements.txt обычно размещают в корне проекта. Можно, по мере написания программного кода проекта, формировать файл вручную, либо - с помощью pip и команды freeze.

Команда pip freeze выводит список всех установленных пакетов в специальном формате:

requirements.txt можно получить, просто перенаправив вывод в файл:

В дальнейшем, данный список можно использовать для установки всех необходимых пакетов в новом окружении:

Полезные опции:

-l, --local - в список пакетов будут включены только пакеты виртуального окружения (virtualenv).
--user - в список пакетов будут включены только пакеты установленные в пространстве текущего пользователя.

Как просмотреть список установленных пакетов

Команда pip list выводит список всех установленных пакетов в удобной для чтения табличной форме.

Полезные опции:

-o, --outdated - список устаревших пакетов, для которых доступны обновления.
-u, --uptodate - список пакетов не требующих обновления.
-l, --local - только список пакетов виртуального окружения (virtualenv).
--user - только список пакетов установленных в окружении пользователя.

Пример, список устаревших пакетов:

Пример, список пакетов не требующих обновления:

Как получить информацию об установленном пакете

pip show package_name - выводит информацию об установленном пакете (версия, месторасположение на диске, зависимости, домашняя страница и т.д.).

Полезная опция:

-f, --files - добавляет к основной информации полный список установленных файлов указанного пакета.

Пример:

Как найти нужный пакет

pip search - поиск пакета по имени пакета или его описанию.

Пример. Список всех пакетов, в названии или описании которых есть pyopenssl:

Простая проверка на совместимость

pip check - проверка зависимостей установленных пакетов на совместимость между собой.

Как настроить автодополнение в pip

В большинстве Linux систем при наборе команд в командной строке можно пользоваться
автодополнением. После набора первых нескольких символов имени файла и нажатия клавиши [TAB], система автоматически допишет имя или, если существует несколько вариантов продолжения строки, выведет список всех доступных версий.

В pip тоже можно настроить нечто подобное, используя команду - completion.

В файл .bashrc будут добавлены строки:

Если вы внесли правки в .bashrc пользователя USER1, то автодополнение будет работать именно для этого пользователя, не для всех остальных.

Перезагрузить .bashrc без выхода из системы можно с помощью команд:

или

Теперь можно проверить работу автодополнения. У меня получилось заставить pip дополнять команды и опции, но не названия пакетов, к сожалению.

Судя по найденной информации, для работы с автодополнением имен пакетов требуется дополнительно установить pip-cache - локальный индекс PyPI. Устанавливать лишнее избыточное ПО в систему я не люблю. Однако, если вам это интересно, можете попробовать:

Автодополнение - хоть и удобно, однако, нещадно тормозит. Автодополнение команд:

Пример автодополнения опций: