Как управлять пакетами 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, используя два модуля, а именно:
- венв,
- виртуальная среда.
Для 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