что такое pip в python
Что такое PIP? Руководство начинающего Python-иста
В этом туториале вы научитесь:
Содержание
Быстрый старт с pip
Управление пакетами настолько важно, что pip был включен в установщик Python начиная с версий 3.4 для Python 3 и 2.7.9 для Python 2. Он используется в большинстве проектов на Python и делает его незаменимым инструментом для каждого питониста.
Возможно, вы захотите испытать приведенные в этом руководстве примеры в виртуальной среде, во‑избежании установки пакетов глобальной установки Python. Можно узнать о виртуальных средах в Виртуальная среда Python: Учебник для начинающих. В разделе Использование виртуальной среды из этого туториала вы узнаете об основах создание новых виртуальных сред.
Установка пакетов с pip
Python считается полностью упакованным языком. Подразумевается, что стандартная библиотека Python включает в себя обширнейший набор пакетов и модулей для разработчиков с их сценариями и приложениями.
В то же самое время у Python есть очень активное сообщество, которое предлагает на всеобщее рассмотрение просто огромный набор пакетов на «любой вкус и цвет», очень значительно способствующих разработке. Такие пакеты публикуются в Реестре пакетов Python, известном под интригующем именем PyPI (произносится как «ПиПей»). PyPI содержит обширную коллекцию пакетов, в том числе и виртуальные среды разработки, инструменты и библиотеки.
Многие из этих пакетов упрощают разработку на Python, предоставляя дружественные интерфейсы для функций, которые уже существуют в стандартной библиотеке. Например, можно написать скрипт, который извлекает содержимое веб-страницы, используя только стандартные библиотеки, включенные в Python:
В ответе можно прочитать Content-Type заголовка и распарсив его, используя модуль cgi извлечь имя набора символов кодировки страницы.
Примечание: в The Meaning of Underscores in Python описано, как с помощью подчёркивания разделить значения в кортеже.
Зная кодировку страницы, можно прочитать ответ и расшифровать его в текст. Можно запустить этот пример в консоли и посмотреть, как он работает:
Извлечение содержимого веб-страницы это очень даже приличная работа для такого маленького скрипта. К счастью, есть пакет Python, который за счет хорошего интерфейса ещё более упрощает HTTP‑запросы и позволяет делать именно то, что хотите.
Базовая установка пакета
В PyPI находится очень популярная библиотека для выполнения HTTP‑запросов, которая называется requests. Можно узнать все об этом в документации на официальном сайте.
В pip есть команда install для установки пакетов. Можно запустить его для установки пакета requests :
Команда pip install
; всегда ищет последнюю версию пакета и устанавливает его. Он также выполняет поиск зависимостей, перечисленных в метаданных пакета и устанавливает эти зависимости, чтобы пакет соответствовал всем необходимым требованиям.
Как видите, одной командой установки requests на самом деле было установлено несколько пакетов. Можно посмотреть метаданные пакета, используя команду show в pip :
Можно импортировать пакет requests как любой другой стандартный пакет, поскольку он теперь установлен в вашей среде.
Как можно видеть, requests.get() обрабатывает HTTP‑соединение и возвращает объект с ответом, аналогичный исходному примеру, но с некоторыми улучшениями интерфейса.
Не нужно иметь дело с кодировкой страницы, потому что в большинстве случаев requests справятся с этим. Тем не менее requests имеет гибкий интерфейс для обработки особых случаев с помощью requests.get().
Использование файлов требований
Команда pip install всегда устанавливает последнюю опубликованную версию пакета, но иногда вам может потребоваться установить конкретную версию, которая, как вы знаете, работает с вашим кодом.
Вы хотите создать спецификацию зависимостей и версий, которые вы использовали для разработки и тестирования своего приложения, чтобы не было сюрпризов при использовании приложения в production.
Версии пакетов будут соответствовать тем, которые перечислены в requirements.txt :
Можно отправить файл requirements.txt в систему контроля версий и использовать его для создания точной среды на других компьютерах.
Требования к тонкой настройке
Проблема с hardcoding версий ваших пакетов и их зависимостей заключается в том, что пакеты часто обновляются с исправлениями ошибок и безопасности, и вы, вероятно, захотите использовать их, как только они будут опубликованы.
Формат файла требований позволяет вам указывать версии зависимостей, используя логические операторы, которые дают вам некоторую гибкость, чтобы гарантировать обновление пакетов, но при этом определять базовые версии пакета.
Откройте файл requirements.txt в своем любимом редакторе и сделайте следующее изменения:
В этом примере обновлений не случилось потому, как здесь установлены последние версии, но если появится новая версия для одного из указанных пакетов, он будет обновлен.
В идеальном мире новые версии пакетов будут обратно совместимы и никогда не будут содержать новых ошибок. К сожалению, в реальном мире в новые версии могут быть внесены изменения, которые повредят ваше приложение. Синтаксис файла требований поддерживает дополнительные спецификаторы версий для точной настройки ваших требований.
Зависимости разработки vs. production
Не все пакеты, которые вы устанавливаете во время разработки, будут необходимы при эксплуатации приложений. В PyPI опубликовано много пакетов, которые являются исключительно нструментами или библиотеками, которые использовались в процессе разработки.
Например, вы, вероятно, захотите провести модульное тестирование своего приложения, для которого нужна среда модульного тестирования. Популярной платформой для модульного тестирования является pytest. Вы хотите установить его в своей среде разработки, но не хотите в своей production‑среде, потому что она там не нужна.
Вы создаете второй файл требований ( requests_dev.txt ), чтобы перечислить дополнительные инструменты для настройки среды разработки:
Для этого вам нужно использовать pip для установки обоих файлов требований: ( requests.txt ) и requests_dev.txt ). К счастью, pip позволяет вам указать дополнительные параметры в файле требований. Вы можете изменить requests_dev.txt ) для подключения требования из рабочего файла requests.txt ):
Фиксация требования для Production
Вы создали файлы требований для Production и разработки, добавили их в систему контроля версий. В файлах используются гибкие спецификаторы версий, чтобы вы могли использовать исправления ошибок, опубликованные вашими зависимостями. Вы также тестируете свое приложение и готовы развернуть его в рабочей среде.
Возможно, вы захотите убедиться, что версии зависимостей, которые вы развертываете в рабочей среде — это те же версии, которые вы использовали в своем конвейере интеграции или процессе сборки, потому что вы знаете, что все тесты пройдены и приложение работает.
Спецификаторы текущей версии не гарантируют, что те же версии будут развернуты в рабочей среде, поэтому вы хотите зафиксировать production‑требования, как вы видели ранее.
Поиск пакетов для использования
Когда вы станете более опытным Pythonist‑ом, появится набор пакетов, которые вы будете знать наизусть и которые вы будете использовать в большинстве своих приложений. Пакеты requirements.txt и pytest являются хорошими кандидатами на то, чтобы стать полезными инструментами в вашем наборе инструментов Python.
Давайте посмотрим, как эта команда нам поможет:
Допустим, вашему приложению необходим доступ к службе, которая использует для авторизации OAuth2. В идеале, есть библиотека, которая работает с requests или с похожим интерфейсом, который может нам помочь. Давайте поищем его в PyPI, используя pip :
В большинстве случаев вы хотите искать пакеты прямо на веб-сайте PyPI. Здесь, на PyPI, есть поиск по собственному реестру, который позволяет фильтровать результаты по метаданным пакетов, таким как инфраструктура, тема, состояние разработки и т.д.
Поиск с таким же запросом на PyPI в результате дает гораздо больше, но здесь его можно отфильтровать по разным категориям. Например, вы можете понять Intended Audience (Целевая аудитория) и выбрать Developers (Разработчики), поскольку вам нужна библиотека, которая поможет вам в разработке своего приложения. Кроме того, вы, вероятно, хотите, чтобы пакет был стабильным и готовым к production. Вы можете развернуть категорию Development Status (Состояние разработки) и выбрать Production/Stable (Производство/Стабильный):
Результаты поска в PyPi по запросу «Requests OAuth»[/caption]
Можно применять дополнительные фильтры и изменять условия поиска до тех пор, пока не найдете нужный вам пакет.
Результаты предоставляют ссылку на страницу пакета, которая содержит больше информации и, возможно, некоторую документацию. Давайте посмотрим на информацию для requests-oauth2 :
Страница пакета в PyPi, полученная по запросу «Requests OAuth 2»
Страница проекта на GitHub содержит гораздо больше информации, и, кажется, имеет ссылке перейти в репозитарий project repository. Здесь вы получите дополнительную информацию о проекте и примеры использования.
Поиск хранилища исходного кода может быть бесценным ресурсом. Там вы можете найти некоторые подсказки о статусе проекта, посмотрев дату последних коммитов, количество запросов на извлечение, открытых вопросов и т.д.
Другой вариант найти пакет — Google. Популярные библиотеки Python будут отображаться в верхней части поисков Google, где вы сможете найти ссылку на нужный пакет в PyPI или его хранилище исходного кода.
Поиск подходящего пакета может потребовать некоторых исследований и времени, но значительно ускорит процесс разработки, как только вы его найдете.
Время от времени вам придется удалять пакеты. Вы либо нашли лучшую библиотеку для замены, либо это то, что вам действительно уже не нужно. Удаление пакетов может оказаться немного сложнее, чем вы думаете.
Удаление пакетов
Перед удалением пакета убедитесь, что вы выполнили команду show для удаляемого пакета:
Не забывайте всегда проверять зависимости пакетов при удалении. Вы, вероятно, захотите удалить все его зависимости, но удаление пакета, который используется другими пакетами, нарушит работу вашего приложения.
Альтернатива pip
pip является важным инструментом для всех Pythonist-ов и используется многими приложениями и проектами для управления пакетами. Этот туториал помог вам с основами, но сообщество Python очень активно предоставляет другие инструменты и библиотеки. У pip есть альтернативы, которые пытаются упростить и улучшить управление пакетами.
В этом разделе вы узнаете о других инструментах управления пакетами, доступных для Python.
Conda делает всё
Conda — менеджер пакетов, зависимостей и сред для многих языков, в том числе и Python. Фактически, его происхождение происходит от Anaconda, которая начиналась как пакет данных для Python.
Conda широко используется в приложениях для обработки данных и машинного обучения и использует собственный реестр для размещения совместимых пакетов.
Conda не только позволяет вам управлять зависимостями пакетов, но также управляет виртуальными средами для ваших приложений, устанавливает совместимые дистрибутивы Python и упаковывает ваше приложение для развертывания в рабочей среде.
Настройка Python для машинного обучения в Windows — это отличное введение в Conda, в котором рассматривается управление пакетами и средой. Единственная информация, относящаяся к Windows, касается установки, поэтому она по-прежнему актуальна, если вы используете другую платформу ОС.
Pipenv
Pipenv — это еще один инструмент управления пакетами, который «стремится принести лучшее из всех упаковочных миров» в Python. Он завоевывает большую популярность среди сообщества Python, поскольку объединяет виртуальную среду и управление пакетами в одном инструменте.
Pipenv: руководство по новому инструменту упаковки Python — отличное начало для знакомства с Pipenv и его подходом к управлению пакетами. Несмотря на то, что статья помечена как intermediate (промежуточная), автор проделал большую работу, чтобы убедить читателя в доступности и необходимости статья для всех, кто начинает работать с Python.
Poetry
Если вы пришли из JavaScript и npm, то Poetry будет выглядеть очень знакомо. Poetry выходит за рамки управления пакетами, помогая создавать дистрибутивы для приложений и библиотек, развертывать их в PyPI. В
Для помощи вам в How to Publish an Open-Source Python Package to PyPI есть хорошее введение в Poetry, которое будет полезно для начала работы.
Python предоставляет обширную стандартную библиотеку, подходящую для разработки всевозможных приложений, но активное сообщество Python предоставляет еще больший набор инструментов и библиотек, которые ускоряют разработку приложений Python.
Эти инструменты и библиотеки публикуются в реестр пакетов Python (PyPI), а pip позволяет разработчикам устанавливать их в свои прикладные среды.
В этом уроке вы узнали о том как:
Не стесняйтесь обращаться в разделе комментариев ниже с любыми вопросами, которые у вас могут возникнуть, и вы всегда можете получить дополнительную информацию на pip странице документации.
Менеджер пакетов PIP. Гайд по использованию
P IP — это менеджер пакетов. Он позволяет устанавливать и управлять пакетами на Python.
Представьте себе ситуацию: вы собираете проект и подключаете множество сторонних библиотек для реализации своей задачи. Если это делать вручную, процесс выглядит примерно так:
Вполне вероятно, что эта версия библиотеки вообще не подходит, и весь процесс повторяется заново. А если таких библиотек 10? Устанавливать их вручную?
Если вы работали с другими языками программирования, концепция pip может показаться вам знакомой. Pip похож на npm (в Javascript), composer (в PHP) или gem (в Ruby).
Pip является стандартным менеджером пакетов в Python
Pip или pip3?
В зависимости от того, какая версия Python установлена в системе, может потребоваться использовать pip3 вместо pip.
Если вы не знаете какая версия Python установлена на вашей системе, выполните следующие команды:
Советуем использовать версию Python 3.6 и выше
Если команда «python» не найдена, установите Python по инструкции из предыдущей статьи.
Далее нужно убедиться, что сам PIP установлен и работает корректно. Узнать это поможет команда:
Команда отобразит в консоли версию pip, путь до pip и версию python, для которой в дальнейшем будут устанавливаться пакеты:
pip 19.2.3 from /usr/local/lib/python3.8/site-packages/pip (python 3.8)
Альтернативный вариант вызова pip:
Если pip не установлен
Pip поставляется вместе с Python, и доступен после его установки. Если по какой-то причине pip не установлен на вашей системе, установить его будет не сложно.
Windows:
Linux (Ubuntu и Debian)
Для Питона 2-й версии, выполните команду:
apt-get install python-pip
Для Питона 3-ей версии:
apt-get install python3-pip
MacOS
Должна появиться запись Successfully Installed. Процесс закончен, можно приступать к работе с PIP на MacOS!
Как обновить PIP
Иногда, при установке очередного пакета, можно видеть сообщение о том, что доступна новая версия pip.
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
А в следующей за ней строке
указана команда для обновления pip:
Команды PIP
Синтаксис pip выглядит следующим образом: pip + команда + доп. опции
Рассмотрим команды pip:
Пример работы с пакетами
PIP позволяет устанавливать, обновлять и удалять пакеты на компьютере. Ниже попробуем разобраться с работой менеджера pip на примере парсинга названий свежих статей на сайте habr.com.
Для начала, нам необходимо установить beautifulsoup4 — библиотеку для парсинга информации с веб-сайтов.
pip3 install beautifulsoup4
pip3 install beautifulsoup4==4.8.2
Данная команда способна даже перезаписать текущую версию на ту, что вы укажите.
Также для работы beautifulsoup нам понадобится пакет lxml :
☝️ Важный момент : по умолчанию pip устанавливает пакеты глобально. Это может привести к конфликтам между версиями пакетов. На практике, чтобы изолировать пакеты текущего проекта, создают виртуальное окружение (virtualenv).
Шаг #2 Импортирование в скрипте.
Для того чтобы воспользоваться функционалом установленного пакета, подключим его в наш скрипт, и напишем простой парсер:
from urllib.request import urlopen from bs4 import BeautifulSoup # скачиваем html 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.
Файл requirements.txt создается командой:
pip freeze > requirements.txt
и выглядит следующим образом:
beautifulsoup4==4.8.2 lxml==4.4.2 soupsieve==1.9.5
Теперь ваш скрипт вместе с файлом requirements.txt можно сохранить в системе контроля версий (например git).
Для работы парсера в новом месте (например на компьютере другого разработчика или на удаленном сервере) необходимо затянуть файлы из системы контроля версий и выполнить команду:
Шаг #4 Обновление/удаление установленных пакетов.
Однако бывают ситуации, когда нужно обновить сразу все пакеты из requirements.txt. Достаточно выполнить команду:
Для удаления пакета выполните:
pip uninstall package-name
Для удаления всех пакетов из requirements.txt:
Мы разобрали основы по работе с PIP. Как правило, этого достаточно для работы с большей частью проектов.
Установка pip для Python
В этой статье мы разберемся с инструментом или ключевым элементом для загрузки модулей в нашу систему, то есть с диспетчером пакетов Python (PIP). Python предоставляет нам различные модули для получения функциональных возможностей и позволяет нам выполнять манипуляции с наборами данных.
Что такое Pip в Python?
Python PIP – это менеджер пакетов Python, который в основном помогает пользователям устанавливать, просматривать и использовать различные пакеты или модули. Чтобы работать с PIP, сначала нам нужно загрузить и настроить его в нашей системе.
Убедитесь, что Python уже установлен в вашей системе. Для этого на Windows откройте командную строку с помощью комбинации Win+X. На Mac Command+пробел, а на Linux – это Ctrl+Alt+T. Вводите команду:
Если вы получили номер версии (например, Python 2.7), значит все готово к использованию.
Если вы получили сообщение Python is not defined (Python не установлен), значит, для начала вам следует установить сам Питон.
Давайте посмотрим, как установить pip в Windows, Linux и Mac OS. PIP поставляется в комплекте с установщиками Python, т.е. версиями 2.7.9+ или 3.4+. Вам нужно будет явно установить его, если вы используете старую версию или хотите ее обновить.
Чтобы убедиться, что PIP установлен и работает корректно введите:
Еще один вариант вызова pip:
Но если же pip не установлен, то переходим далее.
1 Установка PIP в Windows
Чтобы начать использовать PIP в Windows, нам необходимо загрузить установочный файл PIP по этой ссылке: https://bootstrap.pypa.io/get-pip.py
Скопируйте содержимое из указанного выше URL-адреса и сохраните его с именем get-pip.py, после чего вам нужно открыть командную строку и перейти в каталог, где сохранен файл get-pip.py, и запустить файл.
Чтобы проверить, успешно ли установлен PIP в вашей системе, выполните следующую команду в CMD.
Вывод: на вашем терминале должен появиться следующий набор информации.
2 Установка PIP в Ubuntu
3 Установка PIP в Mac OS
Мы также можем использовать easy_install для установки PIP. Фактически, оба они являются менеджерами пакетов, а PIP заменил утилиту easy_install.
Официальная инструкция на английском языке тут https://pip.pypa.io/en/latest/installing.html
Обновление
Для обновления PIP достаточно
Скачивание и установка библиотек для Python через PIP
Python состоит из различных модулей и пакетов, которые можно загрузить и получить доступ с помощью PIP.
pip check — проверка зависимостей установленных пакетов на совместимость между собой.
$ pip check
No broken requirements found.
Установка определённой версии вместо новейшей версии пакета:
pip install package-name==1.0.0
Обновление устаревших пакетов:
Чтобы полностью переустановить пакет:
Если вы увидите, например, на Github файл с именем requirements.txt, то знайте, что в этом файле указываются какие пакеты нужны для запуска данного проекта.
Сам файл requirements.txt создается командой:
pip freeze > requirements.txt
В итоге в нем отображаются следующие строчки:
beautifulsoup4==4.8.2
lxml==4.4.2
soupsieve==1.9.5
После этого скрипт и файл requirements.txt нужно поместить в систему для контроля версий.
Для работы в новом месте необходимо выполнить команду:
Список пакетов
Если вы хотите взглянуть на пакеты, установленные в вашей системе, приведенная ниже команда может помочь вам с этим.
Команда list отображает установленные пакеты вместе с их версиями.
Список всех устаревших пакетов:
Удаление пакета
Если вы хотите удалить какой-либо пакет, следующая команда может помочь вам в этом.
Далее вам будет предложено согласие, действительно ли вы хотите удалить выбранный пакет. Введите «y», чтобы продолжить.
Команды PIP
PIP содержит множество команд для анализа и работы с модулями и пакетами Python.
Следующая команда может использоваться для получения информации о командах, поддерживаемых самим PIP.
Поиск пакетов
Иногда мы можем не знать точное имя пакета, и у PIP есть решение для этого. Мы можем легко найти пакет в репозитории, используя следующую команду.
Пример поиска пакетов:
Информация об установленном пакете
Если вы хотите получить информацию об установленном пакете или модуле, такую как расположение хранилища и последнюю версию, PIP может помочь нам с этим, используя следующую команду.
-f, —files — добавляет к основной информации полный список установленных файлов указанного пакета.
Python. Урок 16. Установка пакетов в Python
В процессе разработки программного обеспечения на Python часто возникает необходимость воспользоваться пакетом, который в данный момент отсутствует на вашем компьютере. О том, откуда взять нужный вам пакет и как его установить, вы узнаете из этого урока.
Где взять отсутствующий пакет?
Менеджер пакетов в Python – pip
Pip – это консольная утилита (без графического интерфейса). После того, как вы ее скачаете и установите, она пропишется в PATH и будет доступна для использования.
Эту утилиту можно запускать как самостоятельно:
так и через интерпретатор Python :
Установка pip
При развертывании современной версии Python (начиная с P ython 2.7.9 и Python 3.4),
pip устанавливается автоматически. Но если, по какой-то причине, pip не установлен на вашем ПК, то сделать это можно вручную. Существует несколько способов.
Обновление pip
Для Windows команда будет следующей:
Использование pip
Далее рассмотрим основные варианты использования pip : установка пакетов, удаление и обновление пакетов.
Установка пакета
Pip позволяет установить самую последнюю версию пакета, конкретную версию или воспользоваться логическим выражением, через которое можно определить, что вам, например, нужна версия не ниже указанной. Также есть поддержка установки пакетов из репозитория. Рассмотрим, как использовать эти варианты.
Установка последней версии пакета
Установка определенной версии
Установка пакета с версией не ниже 3.1
Установка Python пакета из git репозитория
Установка из альтернативного индекса
Установка пакета из локальной директории
Удаление пакета
Для того, чтобы удалить пакет воспользуйтесь командой
Обновление пакетов
Для обновления пакета используйте ключ –upgrade.
Просмотр установленных пакетов
Поиск пакета в репозитории
Где ещё можно прочитать про работу с pip?
В сети довольно много информации по работе с данной утилитой.
P.S.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.