PIP, менеджер пакетов python, используется для установки, обновления, удаления пакетов, написанных на языке программирования Python. В этом руководстве мы будем обсуждать, как установить pip и управлять пакетами python, таких как установка, обновление и удаление пакетов с помощью pip. Кроме того, мы увидим, что это такое виртуальная среда, как создать ее, и как изолировать пакеты в виртуальной среде с помощью инструментов venv и/или virtualenv. Давайте перейдем к делу.
Установка
Установить pip с помощью менеджеров пакетов
На Arch Linux и его вариантов, такие как Antergos, Manjaro Linux, вы можете установить pip с помощью команды:
Python 2:
sudo pacman -S python2-pip
Python 3:
sudo pacman -S python-pip
На Fedora 21:
Python 2:
sudo yum upgrade python-setuptools
sudo yum install python-pip python-wheel
Python 3:
sudo yum install python3 python3-wheel
Fedora 22:
Python 2:
sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel
Python 3:
sudo dnf install python3 python3-wheel
Для того, чтобы получить более новые версии pip, Setuptools и колеса для Python 2, включите PyPA COPR Repo с помощью команды:
dnf copr enable pypa/pypa
а затем запустите:
sudo dnf upgrade python-setuptools
sudo dnf install python-pip python-wheel
На CentOS/RHEL:
pip и wheel не доступны в репозиториях по умолчанию 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
OpenSUSE:
Python 2:
sudo zypper install python-pip python-setuptools python-wheel
Python 3:
sudo zypper install python3-pip python3-setuptools python3-wheel
Debian/Ubuntu:
sudo apt-get install python-pip
Замените «python» с «python3» для Python 3.
В 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 также установит Setuptools и well. Как мы уже упоминали ранее, некоторые дистрибутивы Linux не имеют well в основных репозиториях. В таких случаях, возможно, потребуется добавить несколько репозиториев третьих сторон, например, 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)
Создание виртуальных сред
Перед установкой любых пакетов 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. Чтобы сделать это, выполните команду:
sudo pip install virtualenv
Давайте, сейчас создадим виртуальную среду.
Использование virtualenv:
virtualenv <DIR_NAME>
source <DIR_NAME>/bin/activate
Использование venv:
python3 -m venv <DIR_NAME>
source <DIR_NAME>/bin/activate
После того, как вы запустите выше команду, вы будете помещены в виртуальной среде.
Чтобы отключить виртуальную среду и перейти обратно к нормальной оболочки, выполните следующую команду:
deactivate
Управление пакетами Python с использованием pip
Теперь мы видим наиболее распространенные основы использования PIP с примерами.
Для того, чтобы просмотреть список всех команд, отдельные и общие параметры, выполните следующую команду:
pip
Чтобы знать, что делает команда install, выполните следующую команду:
pip install --help
Наиболее распространенным использованием pip является установка из PyPi (Python Package Index), PyPi представляет собой хранилище, содержащее все пакеты, созданные сообществом разработчиков в Python.
Установка пакетов
Создание виртуальной среды:
Использование virtualenv:
virtualenv MYENV
Заменить MYENV на ваше собственное имя.
Использование venv:
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 install --upgrade youtube-dl
Чтобы получить список всех устаревших пакетов в простом табличном формате, выполните следующую команду:
pip list --outdated --format=columns
Пример вывода:
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
Теперь мы обновляем устаревшие пакеты в большинстве последних доступных версий с помощью команды:
pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
Экспорт всех установленных пакетов в файле
Иногда, вы можете экспортировать все установленные пакеты в файл, чтобы проверить их в различных условиях. Для этого выполните следующую команду:
pip freeze > MYENV_packages.txt
Теперь, отключить текущую виртуальную среду:
deactivate
и создайте новую с помощью команд:
virtualenv MYENV1
Замените MYENV1 на ваше собственное имя.
Использование venv:
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
Для того, чтобы удалить все пакеты pyton, установленный с помощью 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 и его использовании. Для получения более подробной информации, обратитесь к официальной документации (https://pip.pypa.io/en/stable/user_guide/) и раздел помощи pip, выполнив следующую команду:
pip --help
или просто,
pip
Это все. Будьте на связи!