Менеджер пакетов pip: Установка и использование пакетного менеджера Pip

Содержание

Установка и использование пакетного менеджера Pip

Добрый день всем, кто оказался на данном сайте. Пакетный менеджер Pip, позволяет устанавливать и управлять пакетами написанными на Python. Другими словами, если пакет написан на Python, то для того что бы установить его, нужно сначала установить Pip. Pip расшифровывается как – Python Installs Packages. Стоит отметить, начиная с Python версии 3.4, pip поставляется вместе с интерпретатором python.

Установка pip в Debian / Ubuntu

Устанавливать пакетный менеджер pip будем из официальных репозиториев. Для установки PIP для Python 3 нужно выполнить команды в терминале:

sudo apt update
sudo apt install python3-pip

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

pip3 --version

Хотя Python 2 практически уже мало где сейчас используется, да и поддержка прекращена. Но, может так случится, что надо будет его установить. Для установки так же переходим в терминал и вводим команду:

sudo apt install python-pip

Установка в Arch / Manjaro

Для установки в операционной системе Arch и Arch подобных, достаточно выполнить команды в терминале:

sudo pacman -Syyu
sudo pacman -S python-pip 

После чего, можно так же проверить версию pip командой:

pip3 --version

Установка Pip в Fedora / Centos

Для установки Pip в операционных системах Fedora или Centos выполняем следующие команды:

sudo dnf update
sudo dnf install python3-pip

Как использовать Pip

Сразу оговорюсь, синтаксис pip3 в зависимости от дистрибутива может отличатся. Приведу некоторые команды по работе с Pip:

  • pip help – справка по командам.
  • pip install – установка пакетов.
  • pip uninstall – удаление пакетов.
  • pip list – список установленных пакетов.
  • pip show – информация об установленном пакете.
  • pip search – поиск пакетов.
  • pip –proxy user:[email protected]:port – использование прокси.
  • pip install -U – обновление пакетов.
  • pip install –force-reinstall – переустановка пакета при обновлении.
  • pip download – скачать пакет и зависимости

Например, давайте установим пакет “somepackage”. Для этого нужно выполнить команду:

pip3 install somepackage

Для удаления данного пакета, как вы могли уже понять, нужно набрать команду:

pip3 uninstall somepackage

А что бы обновить данный пакет, наберите команду:

pip3 install --upgrade somepackage

Так же вы можете установить определенную версию пакета, например:

pip3 install somepackage==и версия пакета

Надеюсь, данная статья будет вам полезна. Более подробно вы можете ознакомится с пакетным менеджером по адресу “https://pip.pypa.io/en/stable/”.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.

С уважением Cyber-X

Установка и использование PIP в Linux. Linux статьи


Что такое PIP

Pip (сокращение от Python Installs Packages) — это пакетный менеджер для языка программирования Python.

Мы привыкли к пакетным менеджерам в дистрибутивах Linux. Через них мы устанавливаем и удаляем приложения, библиотеки, драйвера и другие компоненты системы.

Для некоторых языков программирования, также были созданы пакетные менеджеры, которые предназначены для установки пакетов, необходимых конкретному языку. Например, для языка Ruby есть gem, а для Node.js есть npm. Pip — это пакетный менеджер для языка Python.

Pip позволяет устанавливать и управлять программными пакетами, написанными на Python. Работа с PIP выполняется через командную строку.

Pip позволяет устанавливать любые пакеты из репозитория Python Package Index (PyPl). Можно использовать и другие репозитории, но обычно все необходимое доступно в PyPl.

Какую версию PIP устанавливать

В настоящее время Python 3 является самой свежей версией языка Python.

Многие дистрибутивы Linux устанавливаются только с поддержкой Python 3. Python 2 уже почти не используется и для его поддержки нужно устанавливать дополнительные пакеты в систему.

Поэтому, если вы не знаете, какую версию PIP устанавливать, то, скорее всего, вам и большинству пользователей нужно устанавливать PIP именно для Python 3.

Если требуется PIP для Python 2, то его можно установить совместно с 3-й версией.

Установка PIP

Рассмотрим, как установить PIP в различных дистрибутивах Linux.

Установка PIP в Ubuntu Linux (Linux Mint)

Для установки PIP в Ubuntu Linux и других производных от него дистрибутивах можно использовать штатные репозитории Ubuntu.

Установка PIP для Python 3 в Ubuntu

Для установки PIP для Python 3 выполните в терминале команду:

sudo apt update
sudo apt install python3-pip

Команда для использования PIP 3 в Ubuntu: pip3 

После установки можно проверить версию PIP. Для этого выполните команду:

pip3 --version

Установка PIP для Python 2 в Ubuntu

Для установки PIP для Python 2 необходимо установить пакет python-pip. Во время установки будет установлен Python 2 (если он уже не установлен), так как он входит в зависимости этого пакета. Выполните команду:

sudo apt install python-pip

Команда для использования PIP 2 в Ubuntu: pip

Проверить версию:

pip --version

Таким образом, для Python 2 используется команда pip, а для Python 3 команда pip3 

Установка PIP в Fedora Linux

Для установки PIP 3 в Fedora Linux выполните команду:

dnf install python3-pip

Для установки PIP 2 в Fedora Linux:

dnf install python-pip

Установка PIP в Arch Linux

Для установки PIP 3 в Arch Linux выполните команду:

pacman -S python-pip

Для установки PIP 2 в Arch Linux:

pacman -S python2-pip

Установка PIP в openSUSE

Для установки PIP 3 в openSUSE выполните команду:

zypper install python3-pip

Для установки PIP 2 в openSUSE:

zypper install python-pip

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

Синтаксис команды pip3 (в зависимости от дистрибутива и версии название команды может отличаться):

pip3 команда опции пакет(ы)

Пример использования: pip install numpy

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

install — установить пакет.
download — скачать пакет и зависимости (без установки).
uninstall — удалить пакет.
list — вывести список установленных пакетов.
show — показать информацию о пакете.
search — поиск пакета (в репозитории PyPI).

Также команда pip3 поддерживает несколько опций. Для базовых операций с пакетами использование опций не требуется. Список опций вы можете получить, выполнив команду: pip3 —help

Некоторые полезные опции:
—upgrade — обновить пакет.
—index-url URL — выполнить установку пакета, используя репозиторий по адресу URL, а не из PyPI.

Примеры использования PIP

Рассмотрим примеры использования PIP для управления пакетами.

Установка пакета

Для установки свежей версии пакета необходимо выполнить команду

install:

pip3 install simplejson

Установка определенной версии пакета

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

pip3 install SomePackage==1.2.3

Установка пакета не ниже определенной версии:

pip3 install SomePackage>=1.2.3

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

Обновить уже установленный пакет до самой свежей версии:

pip3 install --upgrade SomePackage

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

Выведем список установленных через PIP пакетов. Используем опцию —format=columns, чтобы вывести результаты в табличном виде.

pip3 list --format=columns

Поиск пакета

Поиск пакета по ключевому слову или фразе:

pip3 search "math"

Удаление пакета

Удаление пакета:

pip3 uninstall simplejson

Заключение

Мы рассмотрели варианты установки пакетного менеджера PIP в различных дистрибутивах Linux. А также привели примеры использования PIP для управления пакетами. Дополнительную информацию можно получить на сайте PyPA по адресу: https://pip.pypa.io/en/stable/

Как управлять пакетами Python с использованием Pip

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 с помощью двух инструментов.

  1. venv
  2. 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:

 

Заменить MYENV на ваше собственное имя.

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

 

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

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

 

и создайте новую с помощью команд:

 

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

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

 

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

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: [email protected]
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

Это все. Будьте на связи!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

  • Поиск пакетов
  • На какую информацию следует обратить внимание в пакете
  • Установка пакетов
  • Визуализация установленных пакетов
  • Установка пакетов из файла requirements.txt
  • Удаление пакетов с помощью pip

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

Рассмотрим случай использования пакета emoji в качестве примера. Для поиска Python пакетов, связанных с emoji, перейдём на веб сайт PyPi и через окно поиска в правом верхнем углу страницы поищем emoji.

Обратите внимание на колонку «Weight*» в середине таблицы. Это ключевая информация. Значение веса – это специфический рейтинг, который сайт рассчитывает для каждого пакета, чтобы ранжировать результаты поиска.

Согласно самому сайту, то рейтинг вычисляется на основе полей: имя, сводка, ключевые слова, описание, автор, мейнтейнер. Означает ли что найден лучший пакет? Не обязательно. Несмотря на необычность, сторонние пакеты своим присутствием могут затенять emoji.

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

В какой среде будет работать emoji? Приложение на основе терминала или, возможно, веб-приложение Django? Если нужно отобразить emoji в веб-приложении django, то лучше воспользоваться пакетом django-emoji. Для нашего случая предпочтительным вариантом является emoji для Python приложения командной строки.

На что нужно обратить внимание?

Далее приведены характеристики хорошего пакета Python:

  • Достойная документация: прочитав её, сразу становится понятно, соответствует ли пакет потребности или нет;

  • Зрелость и стабильность: если он существует уже продолжительное время, а также последними версиями;

  • Количество контрибьюторов: востребованные пакеты (особенно сложные), как правило, контрибьютятся большим количеством разработчиков;

  • Техническое обслуживание: он регулярно проходит техническое обслуживание.

Не стоит слишком полагаться на статус разработки, указанный для каждого пакета, то есть пакет может иметь баллы стабильности, например, 4 — Beta или 5 — Production / Stable. Эта классификация заполняется самим разработчиком и не обязательно должна быть правдивой.

На нашем случае документация выглядит достаточно прилично. В верхней части страницы показано графическое представление работы пакета emoji в интерпретаторе Python.

>> import emoji
>> print(emoji.emojize('Python is :thumbs_up_sign:'))
Python is 👍
>> print(emoji.emojize('Python is :thumbsup:', use_aliases=True))
Python is 👍

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

Установка пакетов Python с помощью pip

Предполагается, что Python уже установлен в вашей системе. Далее нужно проверить, установлен ли pip, запустив pip -version в терминале.

C:\Users\prog>pip --version
pip 9.0.1 from c:\python\lib\site-packages (python 3.6)

Начиная с Python 3.4, pip входит в комплект поставки.

Также рекомендуется использовать виртуальную среду для управление рабочим процессом разработки и упрощения работы над несколькими проектами одновременно без возникновения конфликтов в их зависимостях.

Отличное вариант для начала изучения консольной программы — это запустить её без каких-либо опций в терминале.

Рассмотрим команду freeze, которая является ключевой в разрешении зависимостей. Запуск pip freeze отображает список всех установленных пакетов Python. Если выполнить с инструкцию с активной виртуальной средой, то будет распечатан пустой список

Для установки пакета, выполним pip install emoji в терминале. В результате будет получен следующий вывод:

C:\Users\prog>pip install emoji==0.4.5
Collecting emoji==0.4.5
  Downloading emoji-0.4.5.tar.gz
Installing collected packages: emoji
  Running setup.py install for emoji ... done
Successfully installed emoji-0.4.5

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

Конкретная версия пакета (==):

pip install emoji==0.4.1

Версия, отличная от указанной (! =):

pip install emoji!=0.4.1

Версия, равная или превышающая конкретную версию (> =):

pip install emoji>=0.4.0

Версия пакета в указанном диапазоне (> = X.Y.T, <= X.Y.Z):

pip install emoji>=0.4.0, <=0.4.9

Как правило, наиболее полезным спецификатором является == для установки конкретной версии пакета. Если не будет ограничения, то будет установлена последняя версия пакета.

Запустим pip freeze после установки пакета emoji.

pip freeze
emoji==0.4.5

Теперь pip freeze отображает пакет emoji как установленная зависимость с определенным номером версии.

Получение списка установленных Python пакетов

Для выгрузки установленных пакетов в файл requirements.txt выполним программу pip freeze с перенаправлением выходного потока в файл.

pip freeze > requirements.txt

Визуализация установленных пакетов

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

pip install pipdeptree

После установки пакета запустим процесс freeze, чтобы удостовериться в его установки:

pip freeze
emoji==0.4.5
Pillow==5.0.0
pipdeptree==0.10.1

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

C:\Users\prog>pipdeptree
emoji==0.4.5
Pillow==5.0.0
pipdeptree==0.10.1
  - pip [required: >=6.0.0, installed: 9.0.1]
setuptools==28.8.0

В результате получаем более информативный вывод, включая зависимости и минимальные версии, необходимые для правильной работы зависимых пакетов.

Также замечаем другие пакеты, которые отсутствуют в списке freeze – pip и setuptools. Причина в том, что по умолчанию pip freeze не перечисляет пакеты, от которых зависит сам pip.

Теперь запустим pip freeze -all для отображения всех установленных пакетов:

C:\Users\prog>pip freeze --all
emoji==0.4.5
Pillow==5.0.0
pip==9.0.1
pipdeptree==0.10.1
setuptools==28.8.0

Ещё одно преимущество использования pipdeptree заключается в том, что она предупреждает нас о конфликтующих зависимостях, в том числе о циклических (когда пакеты зависят друг от друга), но это очень редко встречающийся случай.

Установка пакетов Python из файла requirements.txt

Если есть файл requirements.txt, то можно установить все перечисленные там пакеты, выполнив следующую команду:

pip install -r /dir/to/the/file/requirements.txt

Это очень удобно, когда нужно реплицировать виртуальные среды на другие компьютеры.

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

Удаление отдельных пакетов Вы можете сделать это, запустив, например, pip uninstall alembic.

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

pip uninstall package1 package2 ...

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

pip uninstall -r /dir/to/the/file/requirements.txt

Если попытаться выполнить эту инструкцию программа покажет множество предупреждений и спросит продолжать несколько раз (по одному разу для каждого пакета), на который нужно ответить y. Чтобы избежать этого, используя флаг -y:

pip uninstall -y -r requirements.txt

Python 3 #27: пакеты (package)

На предыдущем занятии мы с вами рассматривали способы создания и импортирования отдельных модулей в Python. Здесь углубимся в эту тему и поговорим о пакетах и способах их импорта.

Пакет (package) – это специальным образом организованный подкаталог с набором модулей, как правило, решающих сходные задачи.

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

packrand

в котором разместим следующие файлы (модули):

  • exp.py – для моделирования экспоненциальных величин;
  • normal.py – для моделирования нормальных величин;
  • rel.py – для моделирования релеевских значений;
  • funcs.py – набор вспомогательных функций.

и еще добавим специальный файл

__init__.py

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

И обратите внимание. Для корректной обработки модулей в пакете, все файлы следует создавать с кодировкой UTF-8.

Остальные файлы пакета будут хранить следующую информацию (см. видео). Все, мы сформировали пакет и теперь можем его импортировать в нашу программу. Для этого записывается ключевое слово import и указывается имя пакета (название подкаталога):

Давайте посмотрим, что в итоге было импортировано:

Мы видим имя нашей переменной NAME и вспомогательные переменные, которые были созданы автоматически средой Python:

[‘NAME’, ‘__builtins__’, ‘__cached__’, ‘__doc__’, ‘__file__’, ‘__loader__’, ‘__name__’, ‘__package__’, ‘__path__’, ‘__spec__’]

Выведем значение переменной NAME:

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

И далее, вызвать функцию этого модуля:

print( packrand.normal.randNorm() )

Либо, использовать второй вариант импорта через from:

from packrand.exp import randExp

и обращаться к функции непосредственно по ее имени:

Все эти способы импортирования называются абсолютными, так как здесь указывается полный путь к данным. Есть еще относительный импорт. И мы сейчас увидим как он работает. Но для начала посмотрим, как модули внутри пакета могут импортировать различные данные. Например, мы хотим внутри модуля exp.py выполнить импорт модуля funcs.py. Как это сделать? Если просто прописать:

и запустить основную программу, то возникнет ошибка, что данный модуль не найден. Почему? Дело в том, что этот модуль находится внутри пакета (каталога) packrand и это явно нужно указать. Или так:

или так:

from packrand import funcs

Но здесь возникает один тонкий момент. Что если название пакета в последствие поменяется? Тогда нам придется менять соответствующие импорты внутри модулей? Вот как раз здесь нам на помощь приходит относительный способ импортирования данных. Вместо явного указания пакета packrand, поставим точку:

Эта точка означает текущий пакет, и теперь мы никак не связаны с его именем. Или, можно записать так:

from .funcs import getRand

здесь мы из модуля funcs текущего пакета импортируем функцию getRand. И так далее. Благодаря этой точке мы уходим от привязки к названию пакета и можем не беспокоиться об его изменении в будущем. Вот в этом преимущество относительного импорта. Однако, в основной программе лучше использовать абсолютную форму записи, т.к. это способствует лучшей читабельности текста программы, а это очень важно при разработке крупных проектов.

При работе с пакетами появляется особенность импортирования данных через звездочку:

В результате будет импортированы только данные из модуля __init__.py, то есть, переменная NAME:

а вот остальные модули будут недоступны:

print( normal.randNorm() )

Чтобы среда Python «знала» что импортировать при указании *, следует импортируемые данные перечислить в модуле __init__.py в виде такого списка:

__all__ = ["exp", "normal", "rel", "NAME"]

Здесь используется специальная переменная __all__, которая должна ссылаться на список с именами модулей, переменных, функций, которые мы предполагаем импортировать при таком синтаксисе. Теперь, запуская программу, она выполняется без ошибок, т.к.  необходимые модули были успешно добавлены.

Установка пакетов (pip)

Все рассмотренные способы импортов модулей и пакетов будут работать только для стандартных пакетов, либо созданных самостоятельно. Однако, существует большое количество полезных сторонних разработок, которые также можно использовать в своей работе. Здесь я вкратце расскажу каким образом осуществляется установка таких сторонних пакетов в ОС Windows.

Сначала открываем командное окно (нажимаем Win+R и набираем команду cmd). Далее, используя пакетный менеджер питона (pip) (он, обычно, ставится автоматически при установке Python). Чтобы убедиться, что он работает, просто наберите pip и нажмите Enter. Если у вас появится вот такая информация, то значит, он установлен и работает. Далее, с помощью команды:

pip freeze

можно увидеть список установленных модулей. Если ничего не отображается, значит, сторонние модули еще не устанавливались.

Для инсталляции нового пакета, нужно набрать:

pip install <имя пакета или модуля>

Давайте для примера установим пакет flask – популярный мини-web фреймворк. Запишем команду:

pip install flask

после этого начнется установка этого пакета последней версии.

И, далее, выполняя команду pip freeze, увидим следующий список:

click==7.1.1
Flask==1.1.1
itsdangerous==1.1.0
Jinja2==2.11.1
MarkupSafe==1.1.1
Werkzeug==1.0.0

То есть, у нас установилась версия Flask 1.1.1. Как видите, для установки необходимо знать, что устанавливать – имена модулей. Все популярные сторонние разработки можно найти на специальном сайте

https://pypi.org

В строке поиска можно указать интересующую вас тему, например, vk и появится список модулей, связанных с работой ВКонтакте. Например, выберем любой модуль и вверху появится подсказка как инсталлировать этот модуль.

После инсталляции этот модуль можно импортировать и вызывать соответствующие функции.

Pip (менеджер пакетов) — Википедия

Материал из Википедии — свободной энциклопедии

pip — система управления пакетами, которая используется для установки и управления программными пакетами написанными на Python. Много пакетов можно найти в Python Package Index (PyPI).[4]

Начиная с версии Python 2.7.9 и Python 3.4, они содержат пакет pip (или pip3 для Python 3) по умолчанию.[5]

Интерфейс командной строки

Результат работы pip install virtualenv

Большинство дистрибутивов Python уже содержат pip. Если pip отсутствует, то его можно установить при помощи системы управления пакетами или через cURL, утилиту для загрузки через интернет: Одно из главных преимуществ pip это простота интерфейса командной строки, которая позволяет установить пакеты Python простой командой: Так же просто и удалять пакеты: Главное, что pip предоставляет возможность управлять всеми пакетами и их версиями. Это обычно делается с помощью файла requirements.txt. Что позволяет эффективно воспроизводить весь необходимый список пакетов в отдельном окружении (например, на другом компьютере) или в виртуальном окружении. Это достигается с помощью правильно отформатированного файла requirements.txt и следующей команды: Установка некоторых пакетов для конкретных версий python, где ${version} заменяется на 2, 3, 3.6, и т. д.:

Использование веб-хостинга

Pip используется для поддержки Python в облачных платформах, таких как Heroku[6] и PythonAnywhere.

См. также

Примечания

Ссылки


Pip (менеджер пакетов) — Википедия

Материал из Википедии — свободной энциклопедии

pip — система управления пакетами, которая используется для установки и управления программными пакетами написанными на Python. Много пакетов можно найти в Python Package Index (PyPI).[4]

Начиная с версии Python 2.7.9 и Python 3.4, они содержат пакет pip (или pip3 для Python 3) по умолчанию.[5]

Интерфейс командной строки

Результат работы pip install virtualenv

Большинство дистрибутивов Python уже содержат pip. Если pip отсутствует, то его можно установить при помощи системы управления пакетами или через cURL, утилиту для загрузки через интернет: Одно из главных преимуществ pip это простота интерфейса командной строки, которая позволяет установить пакеты Python простой командой: Так же просто и удалять пакеты: Главное, что pip предоставляет возможность управлять всеми пакетами и их версиями. Это обычно делается с помощью файла requirements.txt. Что позволяет эффективно воспроизводить весь необходимый список пакетов в отдельном окружении (например, на другом компьютере) или в виртуальном окружении. Это достигается с помощью правильно отформатированного файла requirements.txt и следующей команды: Установка некоторых пакетов для конкретных версий python, где ${version} заменяется на 2, 3, 3.6, и т. д.:

Использование веб-хостинга

Pip используется для поддержки Python в облачных платформах, таких как Heroku[6] и PythonAnywhere.

См. также

Примечания

Ссылки


pip (менеджер пакетов) — Википедия переиздана // WIKI 2

Система управления пакетами для Python

pip — это стандартная система управления пакетами de facto , используемая для установки и управления программными пакетами, написанными на Python. [4] Многие пакеты можно найти в исходном коде пакетов и их зависимостей по умолчанию — Python Package Index (PyPI). [5]

Большинство дистрибутивов Python поставляются с предустановленным pip.Python 2.7.9 и новее (в серии python2) и Python 3.4 и новее по умолчанию включают pip (pip3 для Python 3). [6]

Впервые представленный как pyinstall в 2008 году Яном Бикингом (создателем пакета virtualenv) в качестве альтернативы easy_install, [7] [8] pip было выбрано в качестве нового имени из одно из нескольких предложений, которые автор получил в своем блоге. [9] По словам самого Бикинга, это название является аббревиатурой от «Pip Installs Packages». [10] В 2011 году был создан Python Packaging Authority (PyPA), чтобы взять на себя обслуживание pip и virtualenv от Bicking под руководством Карла Мейера, Брайана Рознера и Янниса Лейдела. [8]

Энциклопедия YouTube

  • 1/3

    Просмотры:

    28 200

    454 522

    100504

  • ✪ Учебное пособие по Python: pip — подробный обзор системы управления пакетами

  • ✪ Как загрузить и установить пакеты и модули Python с помощью Pip

  • ✪ Как установить Python PIP в Windows 8 / Windows 10

Содержание

Интерфейс командной строки

Результат pip install virtualenv

Одним из основных преимуществ pip является простота его интерфейса командной строки, который делает установку программных пакетов Python такой же простой, как ввод команды:

 pip install имя-пакета
 

Пользователи также могут легко удалить пакет:

 pip удалить какое-то имя-пакета
 

Самое главное pip имеет функцию управления полными списками пакетов и соответствующими номерами версий, что возможно через файл «требований». [5] Это позволяет эффективно воссоздавать всю группу пакетов в отдельной среде (например, другом компьютере) или виртуальной среде. Этого можно добиться с помощью правильно отформатированного файла и следующей команды [11] , где requirements.txt — это имя файла:

 pip install -r requirements.txt
 

Установите пакет для определенной версии python, где $ {версия} заменяется на 2, 3, 3.4 и т. Д .:

 pip $ {версия} установить имя-пакета
 

См. Также

Ссылки

.

Python PIP


Что такое PIP?

PIP — это менеджер пакетов для пакетов Python или модулей, если хотите.

Примечание: Если у вас Python версии 3.4 или новее, PIP включен по умолчанию.


Что такое посылка?

Пакет содержит все файлы, необходимые для модуля.

Модули

— это библиотеки кода Python, которые вы можете включить в свой проект.


Проверить, установлен ли PIP

Перейдите в командной строке к каталогу сценариев Python и введите следующее:

Пример

Проверить версию PIP:

C: \ Users \ Ваше имя \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts> pip —version


Установить PIP

Если у вас не установлен PIP, вы можете загрузить и установить его с этой страницы: https: // pypi.org / project / pip /


Загрузить пакет

Загрузить пакет очень просто.

Откройте интерфейс командной строки и скажите PIP загрузить пакет, который вы хочу.

Перейдите в командной строке к каталогу сценариев Python и введите следующее:

Пример

Загрузите пакет с именем «camelcase»:

C: \ Users \ Ваше имя \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts> pip установить Camelcase

Итак, вы скачали и установили свой первый пакет!



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

После установки пакет готов к использованию.

Импортируйте пакет «camelcase» в свой проект.

Пример

Импорт и использование «верблюжьей сумки»:

import camelcase

c = camelcase.CamelCase ()

txt = «hello world»

print (c.hump (txt))

Пример запуска »

Найти пакеты

Дополнительные пакеты можно найти на https://pypi.org/.


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

Используйте команду uninstall для удаления пакета:

Пример

Удалите пакет с именем «camelcase»:

C: \ Users \ Ваше имя \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts> pip удалить Camelcase

Диспетчер пакетов PIP попросит вас подтвердить, что вы хотите удалить упаковка Camelcase:

Удаление camelcase-02.1:
Удалит:
c: \ users \ Ваше имя \ appdata \ local \ programs \ python \ python36-32 \ lib \ site-packages \ camecase-0.2-py3.6.egg-info
c: \ users \ Ваше имя \ appdata \ local \ programs \ python \ python36-32 \ lib \ site-packages \ camecase \ *
Продолжить (да / нет)?

Нажмите y , и пакет будет удален.


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

Используйте команду list , чтобы вывести список всех пакетов, установленных в вашей системе:

Пример

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

C: \ Users \ Ваше имя \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts> список пунктов

результат:

Версия пакета
————————
Camelcase 0.2
mysql-коннектор 2.1.6
пип 18.1
пимонго 3.6.1
setuptools 39.0.1



.

Правильное управление пакетами Python

Индекс пакетов Python (PyPI) индексирует удивительный массив библиотек и приложений, охватывающих все возможные варианты использования. Однако, когда дело доходит до установки и использования этих пакетов, новички часто сталкиваются с проблемами с отсутствующими разрешениями, несовместимыми зависимостями библиотек и неожиданными сбоями при установке.

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

Установка приложений в масштабе всей системы

pip — это де-факто менеджер пакетов в мире Python. Он может устанавливать пакеты из многих источников, но PyPI является основным источником пакетов, где он используется. При установке пакетов pip сначала разрешит зависимости, проверит, установлены ли они в системе, а если нет, установит их.После того, как все зависимости будут удовлетворены, он переходит к установке запрошенных пакетов. Все это происходит глобально, по умолчанию все устанавливается на машину в одном месте, зависящем от операционной системы.

Python 3.7 ищет пакеты в системе Arch Linux в следующих местах:

 $ python3.7 -c "import sys; print ('\ n'.join (sys.path))" 

/usr/lib/python37.zip
/usr/lib/python3.7
/ usr / lib / python3.7 / lib-dynload
/usr/lib/python3.7/site-packages

Одна проблема с глобальными установками заключается в том, что для данного интерпретатора Python одновременно может быть установлена ​​только одна версия пакета.Это может вызвать проблемы, если пакет является зависимостью нескольких библиотек или приложений, но для них требуются разные версии этой зависимости. Даже если кажется, что все работает нормально, возможно, что обновление зависимости (даже случайно при установке другого пакета) приведет к поломке этих приложений или библиотек в будущем.

Другая потенциальная проблема заключается в том, что большинство Unix-подобных дистрибутивов управляют пакетами Python с помощью встроенного диспетчера пакетов ( dnf , apt , pacman , brew и т. Д.), И некоторые из этих инструментов устанавливаются в местоположение, не предназначенное для записи пользователем.

 

$ python3.7 -m pip install pytest
Сбор pytest
Загрузка ...
[...]
Установка собранных пакетов: atomicwrites, pluggy, py, more-itertools, pytest
Не удалось установить пакеты из-за ошибки EnvironmentError : [Ошибка 13] В доступе отказано:
'/usr/lib/python3.7/site-packages/site-packages/atomicwrites-xyzdist-info'
Рассмотрите возможность использования опции '--user' или проверьте разрешения.
$

Это не удается, потому что мы запускаем pip install как пользователь без полномочий root и у нас нет разрешения на запись в каталог site-packages .

Технически это можно обойти, запустив pip от имени пользователя root (с помощью команды sudo ) или администратора. Однако одна проблема заключается в том, что мы только что установили несколько пакетов Python в место, принадлежащее диспетчеру пакетов дистрибутива Linux, что сделало его внутреннюю базу данных и установку несовместимой. Это может вызвать проблемы каждый раз, когда мы пытаемся установить, обновить или удалить любую из этих зависимостей с помощью диспетчера пакетов.

В качестве примера попробуем снова установить pytest , но теперь с использованием диспетчера пакетов моей системы, pacman :

 

$ sudo pacman -S community / python-pytest
разрешение зависимостей...
ищет конфликтующие пакеты ...
[...]
python-py: /usr/lib/site-packages/py/_pycache_/_metainfo.cpython-37.pyc существует в файловой системе
python-py: / usr / lib / site-packages / py / _pycache _ / _ builtin.cpython-37.pyc существует в файловой системе
python-py: /usr/lib/site-packages/py/_pycache_/_error.cpython-37.pyc существует в файловой системе

Другая потенциальная проблема заключается в том, что операционная система может использовать Python для системных инструментов, и мы можем легко сломать их, изменив пакеты Python вне системного диспетчера пакетов.Это может привести к неработоспособности системы, где восстановление из резервной копии или полная переустановка — единственный способ исправить это.

sudo pip install: плохая идея

Есть еще одна причина, по которой запускать pip install как root — плохая идея. Чтобы объяснить это, мы сначала должны посмотреть, как упаковываются библиотеки и приложения Python.

Большинство библиотек и приложений Python сегодня используют setuptools в качестве системы сборки. setuptools требует установки .py в корне проекта, который описывает метаданные пакета и может содержать произвольный код Python для настройки процесса сборки. Когда пакет устанавливается из исходного дистрибутива, этот файл запускается для выполнения установки и выполнения таких задач, как проверка системы, сборка пакета и т. Д.

Выполнение setup.py с правами root означает, что мы можем эффективно открыть систему для вредоносного кода или ошибок. Это гораздо более вероятно, чем вы думаете.Например, в 2017 году в PyPI было загружено несколько пакетов с названиями, напоминающими популярные библиотеки Python. Загруженный код собирал информацию о системе и пользователях и загружал их на удаленный сервер. Эти пакеты были извлечены вскоре после этого. Однако подобные «опечатки» могут произойти в любое время, так как любой может загружать пакеты в PyPI, и нет процесса проверки, чтобы убедиться, что код не причиняет никакого вреда.

Фонд программного обеспечения Python (PSF) недавно объявил, что спонсирует работу по повышению безопасности PyPI.Это должно усложнить проведение атак, таких как «питосквоттинг», и, надеюсь, в будущем станет меньше проблем.

Помимо проблем безопасности, sudo pip install не решит всех проблем с зависимостями: вы все равно можете установить только одну версию любой данной библиотеки, а это значит, что таким образом легко сломать приложения.

Давайте посмотрим на альтернативы получше.

Менеджеры пакетов ОС

Очень вероятно, что «родной» менеджер пакетов, который мы используем в выбранной нами ОС, также может устанавливать пакеты Python.Возникает вопрос: следует ли использовать pip или apt , dnf , pacman и так далее?

Ответ: это зависит от .

pip обычно используется для установки пакетов непосредственно из PyPI, и авторы пакетов Python обычно загружают свои пакеты туда. Однако большинство сопровождающих пакетов не будут использовать PyPI, а вместо этого возьмут исходный код из исходного дистрибутива ( sdist ), созданного автором, или системы контроля версий (например.g., GitHub), при необходимости примените исправления, а также протестируйте и выпустите пакет для соответствующих платформ. По сравнению с моделью распределения PyPI у этого есть плюсы и минусы:

  • Программное обеспечение, поддерживаемое собственными менеджерами пакетов, обычно более стабильно и обычно лучше работает на данной платформе (хотя это может быть не всегда).
  • Это также означает, что для упаковки и тестирования исходного кода Python требуется дополнительная работа:
    1. Набор пакетов обычно намного меньше, чем предлагает PyPI.
    2. Обновления выполняются медленнее, и менеджеры пакетов часто отправляют гораздо более старые версии.

Если пакет, который мы хотим использовать, доступен, и мы не возражаем против немного более старых версий, менеджер пакетов предлагает удобный и безопасный способ установки пакетов Python. И, поскольку эти пакеты устанавливаются в масштабе всей системы, они доступны для всех пользователей системы. Это также означает, что мы можем использовать их, только если у нас есть необходимые разрешения для установки пакетов в системе.

Если мы хотим использовать что-то, что недоступно в выборе диспетчера пакетов или слишком старое, или у нас просто нет необходимых разрешений для установки пакетов, мы можем вместо этого использовать pip .

Установки пользовательской схемы

pip поддерживает режим «пользовательской схемы», представленный в Python 2.6. Это позволяет устанавливать пакеты в расположение, принадлежащее пользователю. В Linux это обычно ~ / .local . Размещение ~ / .local / bin / в нашем PATH позволит иметь инструменты и сценарии Python, доступные нам под рукой, и управлять ими без привилегий root.

 

$ python3.7 -m pip install --user black
Сбор черного
Использование cached
[...]
Установка собранных пакетов: click, toml, black
Скрипты black и blackd устанавливаются в '/ home / tux /.local/bin, которого нет в PATH.
Рассмотрите возможность добавления этого каталога в PATH или, если вы предпочитаете подавить это предупреждение, используйте --no-warn-script-location.
Успешно установлен black-x.y click-x.y toml-x.y.z
$

Однако это решение не решает проблему, если и когда нам нужны разные версии одного и того же пакета.

Вход в виртуальную среду

Виртуальные среды

предлагают изолированные установки пакетов Python, которые могут независимо сосуществовать в одной системе. Это дает те же преимущества, что и установки пользовательской схемы, но также позволяет создавать автономные установки Python, в которых приложение не разделяет зависимости с другими приложениями. Virtualenv создает каталог, содержащий автономную установку Python, включая двоичный файл Python и основные инструменты для управления пакетами: setuptools , pip и wheel .

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

virtualenv — это сторонний пакет, но Python 3.3 добавил пакет venv в стандартную библиотеку. В результате нам не нужно ничего устанавливать для использования виртуальных сред в современных версиях Python. Мы можем просто использовать python3.7 -m venv для создания новой виртуальной среды.

После создания новой виртуальной среды мы должны активировать ее, установив источник сценария activate в каталоге bin вновь созданной среды.Сценарий активации создает новую подоболочку и добавляет каталог bin в переменную среды PATH , что позволяет запускать двоичные файлы и сценарии из этого места. Это означает, что эта подоболочка будет использовать python , pip или любой другой инструмент, установленный в этом месте, вместо тех, которые установлены глобально в системе.

 

$ python3.7 -m venv test-env
$. ./test-env/bin/activate
(test-env) $

После этого любая выполняемая нами команда будет использовать установку Python внутри виртуальной среды.Установим несколько пакетов.

 

(test-env) $ python3.7 -m pip install --user black
Сбор черного
Использование кэшированного
[...]
Установка собранных пакетов: click, toml, black
Успешная установка black-xy click-xy toml-xyz
(test-env) $

Мы можем использовать black внутри виртуальной среды без каких-либо ручных изменений переменных среды, таких как PATH или PYTHONPATH .

 

(test-env) $ black --version
black, version x.y
(test-env) $ which black
/ home / tux / test-env / bin / black
(test-env) $

Когда мы закончим с виртуальной средой, мы можем просто деактивировать ее с помощью отключить функцию .

 

Виртуальные среды также можно использовать без скрипта активации. Сценарии, установленные в venv , будут переписаны в строке shebang для использования интерпретатора Python внутри виртуальной среды. Таким образом, мы можем выполнить сценарий из любого места в системе, используя полный путь к сценарию.

 (test-env) $ head / home / tux / test-env / bin / black 
#! / Home / tux / test-env / bin / python3.7

# - * - кодировка: utf-8 - * -
import re
import sys

from black import main

if __name__ == '__main__':
sys.argv [0] = re.sub (r '(- script \ .pyw? | \ .Exe)? $ ',' ', sys.argv [0])
(test-env) $

Мы можем просто запустить ~ / test-env / bin / black из любого места в системе, и он будет работать нормально.

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

  export PATH = $ PATH: ~ / test-env / bin  

Теперь, когда мы выполняем black , он будет взят из виртуальной среды (если он не появится где-то еще раньше в PATH ).Добавьте эту строку в файл инициализации вашей оболочки (например, ~ / .bashrc ), чтобы она автоматически устанавливалась во всех новых оболочках.

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

Я рекомендую проверить проект virtualenvwrapper, который может помочь упростить общие рабочие процессы на основе virtualenv .

А что насчет Конды?

Conda — это инструмент управления пакетами, который может устанавливать пакеты, предоставленные Anaconda, в репозиторий.Репозиторий континуум.io. Он стал очень популярным, особенно в области науки о данных. Он предлагает простой способ создания сред и управления ими, а также установки в них пакетов. Один недостаток по сравнению с pip заключается в том, что выбор пакетов намного меньше.

Рецепт успешного управления пакетами

  • Никогда не запускайте sudo pip install .
  • Если вы хотите сделать пакет доступным для всех пользователей машины, у вас есть соответствующие разрешения и пакет доступен, используйте менеджер пакетов вашего дистрибутива ( apt , yum , pacman , brew , так далее.).
  • Если у вас нет прав суперпользователя или у менеджера пакетов ОС нет нужного вам пакета, используйте pip install —user и добавьте каталог установки пользователя в переменную среды PATH .
  • Если вы хотите, чтобы несколько версий одной и той же библиотеки сосуществовали, для разработки Python или просто для изоляции зависимостей по любой другой причине, используйте виртуальные среды.

Эта статья была первоначально опубликована в апреле 2019 года и была обновлена ​​редактором.

.

python — Как установить pip в Windows?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *