Поиск по сайту:

Как управлять пакетами Python с помощью PIP

PIP, менеджер пакетов Python, используется для установки, обновления и удаления пакетов, написанных на языке программирования Python. В этом руководстве мы обсудим, как устанавливать pip и управлять пакетами Python, например устанавливать, обновлять и удалять пакеты с помощью pip. Кроме того, мы увидим, что такое виртуальная среда, как ее создать и как изолировать пакеты в виртуальной среде с помощью инструментов venv и/или virtualenv.

Установите pip с помощью менеджеров пакетов

В Arch Linux и его вариантах, таких как Antergos, Manjaro Linux, вы можете установить pip с помощью команды:

Питон 2:

sudo pacman -S python2-pip python2-wheel python2-setuptools

Python 3:

sudo pacman -S python-pip python-wheel python-setuptools

В Fedora 21:

Питон 2:

sudo yum upgrade python-setuptools
sudo yum install python-pip python-wheel

Python 3:

sudo yum install python3 python3-wheel

Федора 22:

Питон 2:

sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel

Python 3:

sudo dnf install python3 python3-wheel

Чтобы получить более новые версии pip, setuptools и Wheel для Python 2, включите репозиторий PyPA Copr с помощью команды:

dnf copr enable pypa/pypa

а затем запустите:

sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel

В CentOS/RHEL:

Функция «Пип и колесо» недоступна в репозиториях CentOS и RHEL по умолчанию. Чтобы установить pip в CentOS, RHEL, Scientific Linux и других системах на базе RPM, включите репозиторий EPEL с помощью команды:

sudo yum install epel-release

А затем выполните следующую команду для установки pip:

sudo yum install python-pip
sudo yum install python-wheel

Поскольку пакет setup-tools доступен в репозиториях по умолчанию, вы можете установить его с помощью команды:

sudo yum upgrade python-setuptools

Python 3:

sudo yum install python3-pip

openSUSE:

Питон 2:

sudo zypper install python-pip python-setuptools python-wheel

Python 3:

sudo zypper install python3-pip python3-setuptools python3-wheel

Debian/Ubuntu:

Для Python 2.x:

sudo apt-get install python-pip

Для Python 3.x:

Замените «python» на «python3» для установки версии Python 3.x.

sudo apt-get install python3-pip

В версии Ubuntu 12.04 pip3 не поставлялся в комплекте. Если вы используете Ubuntu 12.04, вы можете установить pip3, используя следующие команды:

sudo apt-get install python3-setuptools
sudo easy_install3 pip

Установка pip из двоичных файлов

Если вы хотите установить pip из двоичных файлов, просто запустите:

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Обратите внимание, что get-pip.py также установит инструменты настройки и колесо. Как я упоминал ранее, некоторые дистрибутивы Linux не имеют колеса в основных репозиториях. В таких случаях вам может потребоваться добавить сторонние репозитории, например EPEL.

pip уже установлен, если вы используете двоичные файлы Python 2 >=2.7.9 или Python 3 >=3.4, загруженные с сайта python.org. Однако вам нужно будет обновить pip с помощью команды:

sudo pip install -U pip

Или,

sudo pip install --upgrade pip

Чтобы обновить все (pip, setuptools, Whell), запустите:

sudo pip install --upgrade pip setuptools wheel

Чтобы узнать установленную версию pip/pip3, запустите:

pip --version

Или,

pip -V

Пример вывода будет:

pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6)

Создание виртуальных сред

Перед установкой любых пакетов Python рекомендуется создать виртуальную среду. Зачем нам нужно создавать виртуальную среду? Вы можете спросить. Потому что «Виртуальные среды» Python позволяют нам устанавливать пакет Python в изолированном месте, а не устанавливать его глобально.

Допустим, вы хотите установить пакет Python, например youtube-dl, для которого требуется версия 1 LibFoo, но для другого приложения требуется версия 2. Как можно использовать оба этих приложения? Если вы установите все в /usr/lib/python2.7/site-packages или /usr/lib/python3.6/site-packages (или в любой другой стандарт вашей платформы местоположение есть), легко попасть в ситуацию, когда вы непреднамеренно обновите приложение, которое не должно обновляться. Чтобы этого избежать, мы изолируем пакеты в виртуальной среде. Все виртуальные среды имеют свои собственные установочные каталоги и не взаимодействуют и не конфликтуют друг с другом.

Мы можем создавать изолированные среды Python, используя два модуля, а именно:

  1. венв,
  2. виртуальная среда.

Для Python 2.x вам необходимо установить virtualenv. Для этого запустите:

sudo pip install virtualenv

Давайте теперь создадим виртуальную среду.

Использование виртуального окружения:

virtualenv <DIR_NAME>
source <DIR_NAME>/bin/activate

Для Python 3.x вам необходимо установить venv. В системах на базе Ubuntu вы можете установить его с помощью команды:

sudo apt-get install python3-venv

Теперь создайте виртуальную среду с помощью venv:

python3 -m venv <DIR_NAME>
source <DIR_NAME>/bin/activate

После запуска указанной выше команды вы сразу же попадете в виртуальную среду.

Чтобы деактивировать виртуальную среду и вернуться в обычную оболочку, запустите:

deactivate

Управление пакетами Python с помощью Pip

Теперь мы увидим наиболее распространенное базовое использование пипсов на примерах.

Чтобы просмотреть список всех команд pip и общих параметров, запустите:

pip

Вы должны увидеть результат, подобный приведенному ниже.

Чтобы узнать, что делает команда установки, запустите:

pip install --help

Чаще всего pip используется для установки из PyPi (индекс пакетов Python). PyPi — это репозиторий, содержащий все пакеты, созданные сообществом разработчиков на Python.

Установить пакеты

Сначала создайте виртуальную среду, как показано ниже:

Использование виртуального окружения:

virtualenv MYENV

Замените MYENV своим именем.

Использование венв:

python3 -m venv MYENV

Наконец, активируйте его с помощью команды:

source MYENV/bin/activate

После запуска приведенной выше команды вы попадете в виртуальную среду:

Теперь пришло время установить несколько пакетов. Чтобы установить пакет, например youtube-dl, запустите:

pip install youtube-dl

Эта команда установит youtube-dl со всеми его зависимостями.

Чтобы установить конкретную версию, запустите:

pip install youtube_dl=2017.12.14

Чтобы установить версию, отличную от указанной, запустите:

pip install youtube_dl!=2017.12.14

Обратите внимание на знак «!» перед символом равенства.

Чтобы установить версию, равную или выше указанной, запустите:

pip install youtube_dl>=2017.12.14

Чтобы установить версию в определенном диапазоне, например больше или равна одной версии и меньше другой, запустите:

pip install youtube_dl>=2017.12.14, <2017.12.20

Чтобы установить версию, «совместимую» с определенной версией:

pip install youtube_dl~=2017.12.14

Скачать пакеты

Чтобы загрузить пакет со всеми зависимостями (без его установки), выполните:

pip download youtube-dl

Список всех установленных пакетов

Чтобы узнать, какие пакеты были установлены с помощью pip, запустите:

pip freeze

Или,

pip list

Эти команды отобразят все установленные пакеты с помощью pip в вашей системе.

Поиск пакетов

Чтобы найти конкретный пакет, например youtube-dl, запустите:

pip search youtube-dl

Эта команда выполнит поиск и отобразит результат, соответствующий строке «youtube-dl».

Обновление пакетов

Чтобы перечислить все устаревшие пакеты в простом табличном формате, запустите:

pip list --outdated --format=columns

Чтобы обновить устаревший пакет, запустите:

pip install --upgrade youtube-dl

Мы также можем сбросить все пакеты в файл и обновить их все за один раз. Сначала экспортируйте все файлы в файл:

pip freeze > mypackages.txt

Теперь обновите все пакеты одновременно с помощью команды:

pip install -r mypackages.txt --upgrade

Или,

pip install -r mypackages.txt -U

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

pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U

Экспортируйте все установленные пакеты в файл

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

pip freeze > MYENV_packages.txt

Теперь деактивируйте текущую виртуальную среду:

deactivate

и создайте новый, используя команды:

virtualenv MYENV1

Замените MYENV1 своим именем.

Использование венв:

python3 -m venv MYENV1

Активируйте вновь созданную среду:

source MYENV1/bin/activate

Теперь установите все пакеты, которые мы экспортировали ранее.

pip install -r MYENV_packages.txt

Чтобы установить все сразу без взаимодействия с пользователем, запустите:

pip install -r MYENV_packages.txt -y

Аналогичным образом вы можете удалить все пакеты из списка с помощью команды:

pip uninstall -r MYENV_packages.txt -y

Посмотреть информацию о пакете

Чтобы просмотреть подробную информацию о пакете, запустите:

$ 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:

Просмотр зависимостей пакета

Мы можем визуализировать зависимости всех установленных пакетов с помощью инструмента «pipdeptree».

Установите его с помощью команды:

pip install pipdeptree

После установки вы можете просмотреть дерево зависимостей с помощью команды:

pipdeptree

Удалить пакеты

Чтобы удалить/удалить установленный пакет, запустите:

pip uninstall youtube-dl

Чтобы удалить несколько пакетов, укажите их через запятую, как показано ниже:

pip uninstall package1, package2

Чтобы удалить все пакеты Python, установленные с помощью pip, запустите:

pip freeze | xargs pip uninstall -y

Иногда pip не позволяет удалять пакеты, принадлежащие ОС. В таких случаях вы можете удалить все пакеты, не принадлежащие ОС, с помощью команды:

pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ')

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

pip uninstall -r MYENV_packages.txt -y

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

pip --help

Или просто,

pip

Рекомендуем прочитать:

  • Pipenv — официально рекомендуемый инструмент упаковки Python
  • Pipx – установка и запуск приложений Python в изолированных средах

И это все на данный момент. Надеюсь, это было полезно.

Ресурс:

  • Главная страница PIP

Статьи по данной тематике