Thank you for reading this post, don't forget to subscribe!
PIP, менеджер пакетов python, используется для установки, обновления, удаления пакетов, написанных на языке программирования Python. В этом руководстве мы будем обсуждать, как установить pip и управлять пакетами python, таких как установка, обновление и удаление пакетов с помощью pip. Кроме того, мы увидим, что это такое виртуальная среда, как создать ее, и как изолировать пакеты в виртуальной среде с помощью инструментов venv и/или virtualenv. Давайте перейдем к делу.
На CentOS/RHEL:
pip и wheel не доступны в репозиториях по умолчанию CentOS и RHEL. Чтобы установить pip на CentOS, RHEL, Scientific Linux и другие системы на основе RPM, включите репозиторий Epel с помощью команды:
1 |
sudo yum install epel-release |
А затем запустите следующую команду, чтобы установить pip:
1 |
sudo yum install python-pip |
1 |
sudo yum install python-wheel |
Поскольку пакет setup-tools доступен в репозитории по умолчанию, вы можете установить его с помощью команды:
1 |
sudo yum upgrade python-setuptools |
Установка pip из бинарных файлов
Если вы хотите установить pip из бинарных файлов, просто запустите:
1 |
wget https://bootstrap.pypa.io/get-pip.py |
1 |
sudo python get-pip.py |
Обратите внимание, что get-pip.py также установит Setuptools и well. Как мы уже упоминали ранее, некоторые дистрибутивы Linux не имеют well в основных репозиториях. В таких случаях, возможно, потребуется добавить несколько репозиториев третьих сторон, например, Epel.
pip уже установлен, если вы используете Python 2> = 2.7.9 или Python 3> = 3.4 двоичные файлы, загруженные из python.org. Тем не менее, вам нужно будет обновить pip с помощью команды:
1 |
sudo pip install -U pip |
или,
1 |
sudo pip install --upgrade pip |
Для того, чтобы обновить все (pip, setuptools, whell), выполните следующую команду:
1 |
sudo pip install --upgrade pip setuptools wheel |
Чтобы узнать установленную версию pip/pip3, выполните следующую команду:
1 |
pip --version |
или,
1 |
pip -V |
Пример вывода будет такой:
1 |
pip 9.0.1 from /usr/lib/python3.6/site-packages (python 3.6) |
Создание виртуальных сред
Перед установкой любых пакетов pyton, рекомендуется создать виртуальную среду. Вы можете спросить, почему нам нужно создать виртуальную среду? Потому что, «виртуальная среда» позволяет установить пакет Python в изолированном месте, а не устанавливать его по всему миру.
Допустим, вы хотите установить пакет Python, например, YouTube, для, что нужно версия 1 LibFoo, но другое приложение требует версии 2. Как вы можете использовать оба эти приложения? Если вы устанавливаете все в /usr/lib/python2.7/site-packages или /usr/lib/python3.6/site-packages (или что – то стандартное положение вашей платформы есть), легко оказаться в ситуации, когда у вас непреднамеренно обновиться приложение, которое не должно быть модернизировано. Чтобы избежать этого, мы выделяем пакеты в виртуальной среде. Все виртуальные среды имеют свои собственные каталоги установки и не взаимодействуют или конфликтуют друг с другом.
Мы можем создать изолированные среды pyton с помощью двух инструментов.
- venv
- virtualenv
Если вы используете Python 3.3 и более позднюю, venv устанавливается по умолчанию. Для Python 2.x, вам необходимо установить virtualenv. Чтобы сделать это, выполните команду:
1 |
sudo pip install virtualenv |
Давайте, сейчас создадим виртуальную среду.
Использование virtualenv:
1 |
virtualenv <DIR_NAME> |
1 2 |
source <DIR_NAME>/bin/activate |
Использование venv:
1 |
python3 -m venv <DIR_NAME> |
1 |
source <DIR_NAME>/bin/activate |
После того, как вы запустите выше команду, вы будете помещены в виртуальной среде.
Чтобы отключить виртуальную среду и перейти обратно к нормальной оболочки, выполните следующую команду:
1 |
deactivate |
Управление пакетами Python с использованием pip
Теперь мы видим наиболее распространенные основы использования PIP с примерами.
Для того, чтобы просмотреть список всех команд, отдельные и общие параметры, выполните следующую команду:
1 |
pip |
Чтобы знать, что делает команда install, выполните следующую команду:
1 |
pip install --help |
Наиболее распространенным использованием pip является установка из PyPi (Python Package Index), PyPi представляет собой хранилище, содержащее все пакеты, созданные сообществом разработчиков в Python.
Установка пакетов
Создание виртуальной среды:
Использование virtualenv:
1 |
virtualenv MYENV |
Заменить MYENV на ваше собственное имя.
Использование venv:
1 |
python3 -m venv MYENV |
Наконец, включите его с помощью команды:
1 |
source MYENV/bin/activate |
После того, как вы запустите выше команду, вы будете помещены в виртуальную среду.
Теперь настало время, установить некоторые пакеты. Чтобы установить пакет, например YouTube-DL, выполните команду:
1 |
pip install youtube-dl |
Эта команда установит YouTube-DL со всеми его зависимостями.
Чтобы установить определенную версию, выполните следующую команду:
1 |
pip install youtube_dl=2017.12.14 |
Чтобы установить версию, кроме указанной версии, выполните следующую команду:
1 |
pip install youtube_dl!=2017.12.14 |
Обратите внимание на символ “!”.
Чтобы установить версию, равную или превышающую указанную версию, выполните команду:
1 |
pip install youtube_dl>=2017.12.14 |
Чтобы установить версию в определенном диапазоне, например, большую или равное одной из версий, и меньше, чем другую, выполните следующую команду:
1 |
pip install youtube_dl>=2017.12.14, <2017.12.20 |
Чтобы установить версию, «совместимую» с определенной версией:
1 |
pip install youtube_dl~=2017.12.14 |
Скачать пакеты
Для того, чтобы загрузить пакет со всеми зависимостями (без установки), выполните:
1 |
pip download youtube-dl |
Список всех установленных пакетов
Чтобы узнать, какие пакеты были установлены pip, выполните команду:
1 |
pip freeze |
или,
1 |
pip list |
Эти команды будут отображать все установленные пакеты, используя pip в вашей системе.
Поиск пакетов
Для поиска конкретного пакета, например YouTube-DL, выполните команду:
1 |
pip search youtube-dl |
Эта команда будет искать и отображать результат, который соответствует строке «YouTube-DL».
Обновление пакетов
Для того, чтобы обновить устаревший пакет, выполните команду:
1 |
pip install --upgrade youtube-dl |
Чтобы получить список всех устаревших пакетов в простом табличном формате, выполните следующую команду:
1 |
pip list --outdated --format=columns |
Пример вывода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
Package Version Latest Type ----------------- ------------ ---------- ----- alembic 0.8.10 0.9.6 sdist argcomplete 1.9.2 1.9.3 wheel arrow 0.10.0 0.12.0 sdist arxiv2bib 1.0.7 1.0.8 sdist asn1crypto 0.22.0 0.24.0 wheel attrs 17.2.0 17.3.0 wheel awesome-finder 1.0.5 1.1.1 wheel cffi 1.10.0 1.11.2 wheel classifier 1.7 2.0 sdist cryptography 1.9 2.1.4 wheel decorator 4.0.11 4.1.2 wheel fuzzywuzzy 0.15.0 0.15.1 wheel hyperlink 17.2.1 17.3.1 wheel idna 2.5 2.6 wheel imageio 2.1.2 2.2.0 sdist lxml 3.8.0 4.1.1 wheel Mako 1.0.6 1.0.7 sdist MarkupSafe 0.23 1.0 sdist papis 0.4.6 0.5.0 sdist parse 1.6.5 1.8.2 sdist praw 4.3.0 5.3.0 wheel prawcore 0.7.0 0.13.0 wheel pyasn1 0.2.3 0.4.2 wheel pyasn1-modules 0.0.9 0.2.1 wheel pycairo 1.13.3 1.15.4 sdist pyOpenSSL 17.1.0 17.5.0 wheel pyperclip 1.5.27 1.6.0 sdist python-dateutil 2.6.0 2.6.1 wheel python-magic 0.4.13 0.4.15 wheel python-ptrace 0.8.1 0.9.3 wheel python-xlib 0.20 0.21 wheel redlib 1.5.6 1.5.7 sdist requests 2.12.5 2.18.4 wheel requests-toolbelt 0.7.0 0.8.0 wheel setuptools 36.6.0 38.2.4 wheel speedtest-cli 1.0.6 1.0.7 wheel SQLAlchemy 1.1.5 1.1.15 sdist tabulate 0.7.7 0.8.2 sdist torrench 1.0.56 1.0.61 wheel tqdm 4.11.2 4.19.5 wheel Twisted 17.5.0 17.9.0 sdist urllib3 1.21.1 1.22 wheel wpm 1.33 1.34 sdist youtube-dl 2017.10.15.1 2017.12.14 wheel zope.interface 4.3.3 4.4.3 wheel |
Теперь мы обновляем устаревшие пакеты в большинстве последних доступных версий с помощью команды:
1 |
pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U |
Экспорт всех установленных пакетов в файле
Иногда, вы можете экспортировать все установленные пакеты в файл, чтобы проверить их в различных условиях. Для этого выполните следующую команду:
1 |
pip freeze > MYENV_packages.txt |
Теперь, отключить текущую виртуальную среду:
1 |
deactivate |
и создайте новую с помощью команд:
1 |
virtualenv MYENV1 |
Замените MYENV1 на ваше собственное имя.
Использование venv:
1 |
python3 -m venv MYENV1 |
Активируйте вновь созданную среду:
1 |
source MYENV1/bin/activate |
Теперь установите все пакеты, которые мы экспортировали ранее.
1 |
pip install -r MYENV_packages.txt |
Для того, чтобы установить все сразу без вмешательства пользователя, выполните следующую команду:
1 |
pip install -r MYENV_packages.txt -y |
Кроме того, вы можете удалить все пакеты из списка, используя команду:
1 |
pip uninstall -r MYENV_packages.txt -y |
Просмотр информации о пакете
Для того, чтобы просмотреть подробную информацию о пакете, выполните команду:
1 2 3 4 5 6 7 8 9 10 |
$ 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».
Установите его с помощью команды:
1 |
pip install pipdeptree |
После установки, вы можете просматривать дерево зависимостей с помощью команды:
1 |
pipdeptree |
Удаления пакетов
Чтобы деинсталировать/удалить установленный пакет, выполните команду:
1 |
pip uninstall youtube-dl |
Чтобы удалить несколько пакетов, укажите их, разделяя:
1 |
pip uninstall package1, package2 |
Для того, чтобы удалить все пакеты pyton, установленный с помощью pip, выполните команду:
1 |
pip freeze | xargs pip uninstall -y |
Иногда pip не позволяет удалять пакеты, принадлежащие ОС. В таких случаях, вы можете удалить все пакеты, которые не являются собственностью ОС с помощью команды:
1 |
pip uninstall -y $(pip freeze | sed 's;==.*;;g' | tr '\n' ' ') |
Как я уже говорил в предыдущем разделе, мы можем сбросить все установленные пакеты в файл и удалить их из списка с помощью команды:
1 |
pip uninstall -r MYENV_packages.txt -y |
На этом этапе вы можете получить некоторое представление о pip и его использовании. Для получения более подробной информации, обратитесь к официальной документации (https://pip.pypa.io/en/stable/user_guide/) и раздел помощи pip, выполнив следующую команду:
1 |
pip --help |
или просто,
1 |
pip |