Инструмент easy_install является модулем набора расширений к distutils языка Python — setuptools. Согласно официальной документации «Easy Install — это модуль Python (easy_install), идущий в комплекте библиотеки setuptools, которая позволяет автоматически загружать, собирать, устанавливать и управлять пакетами языка Python». Пакеты носят название «eggs» и имеют расширение .egg. Как правило, эти пакеты распространяются в формате архива ZIP.
Для начала установим пакет setuptools для Python версии 2.7:
Теперь можно установить любой пакет, находящийся в центральном репозитарии модулей языка Python, который называется PyPI (Python Package Index): pypi.python.org/pypi. Работа с easy_install напоминает работу с пакетными менеджерами apt-get, rpm, yum и подобными. Для примера установим пакет, содержащий оболочку IPython:
В качестве аргумента указывается либо имя пакета, либо путь до пакета .egg, находящегося на диске. Обратите внимание, что для выполнения установки требуются права суперпользователя, так как easy_install установлен и сам устанавливает пакеты в глобальный для Python каталог site-packages. Установка easy_install в домашнюю директорию производится следующим образом:
Поиск пакета на веб-странице:
Первый аргумент в данном примере — это на какой странице искать, второй — что искать.
Также предусмотрена возможность HTTP Basic аутентификации на сайтах:
Установка архива с исходными кодами по указанному URL:
В качестве аргумента достаточно передать адрес архива, а easy_install автоматически распознает архив и установит дистрибутив. Чтобы этот способ сработал, в корневом каталоге архива должен находиться файл setup.py.
Для обновления пакета используется ключ --upgrade:
Также easy_install может немного облегчить установку распакованного дистрибутива c исходными кодами. Вместо последовательности команд
Изменение активной версии установленного пакета:
В данном случае производится откат пакета liten до версии 0.1.3.
Это полезно, когда, например, необходимо обеспечить доступ к отдельному файлу из любой точки файловой системы. Как вариант, можно добавить путь к файлу в переменную
Для опытных пользователей и администраторов предусмотрена возможность создания конфигурационных файлов. Значения параметров по умолчанию можно задать в конфигурационном файле, который имеет формат ini-файла. easy_install осуществляет поиск конфигурационного файла в следующем порядке: текущий_каталог/setup.cfg, ~/.pydistutils.cfg и в файле distutils.cfg, в каталоге пакета distutils.
Пример такого файла:
Используемые источники:
peak.telecommunity.com/DevCenter/EasyInstall — официальная документация
«Python в системном администрировании UNIX и Linux», Ноа Гифт и Джереми М. Джонс
Использование easy_install
Для начала установим пакет setuptools для Python версии 2.7:
$ wget pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
$ sudo sh setuptools-0.6c11-py2.7.egg
Теперь можно установить любой пакет, находящийся в центральном репозитарии модулей языка Python, который называется PyPI (Python Package Index): pypi.python.org/pypi. Работа с easy_install напоминает работу с пакетными менеджерами apt-get, rpm, yum и подобными. Для примера установим пакет, содержащий оболочку IPython:
sudo easy_install ipython
В качестве аргумента указывается либо имя пакета, либо путь до пакета .egg, находящегося на диске. Обратите внимание, что для выполнения установки требуются права суперпользователя, так как easy_install установлен и сам устанавливает пакеты в глобальный для Python каталог site-packages. Установка easy_install в домашнюю директорию производится следующим образом:
sh setuptools-0.6c11-py2.7.egg --prefix=~
Поиск пакета на веб-странице:
easy_install -f code.google.com/p/liten liten
Первый аргумент в данном примере — это на какой странице искать, второй — что искать.
Также предусмотрена возможность HTTP Basic аутентификации на сайтах:
easy_install -f user:password@example.com/path/
Установка архива с исходными кодами по указанному URL:
easy_install liten.googlecode.com/files/liten-0.1.5.tar.gz
В качестве аргумента достаточно передать адрес архива, а easy_install автоматически распознает архив и установит дистрибутив. Чтобы этот способ сработал, в корневом каталоге архива должен находиться файл setup.py.
Для обновления пакета используется ключ --upgrade:
easy_install --upgrade PyProtocols
Также easy_install может немного облегчить установку распакованного дистрибутива c исходными кодами. Вместо последовательности команд
python setup.py install
достаточно просто ввести easy_install
, находясь в каталоге с исходниками.Изменение активной версии установленного пакета:
easy_install liten=0.1.3
В данном случае производится откат пакета liten до версии 0.1.3.
Преобразование отдельного файла .py в пакет .egg
easy_install -f "http://some.example.com/downloads/foo.py#egg=foo-1.0" foo
Это полезно, когда, например, необходимо обеспечить доступ к отдельному файлу из любой точки файловой системы. Как вариант, можно добавить путь к файлу в переменную
PYTHONPATH
. В этом примере #egg=foo-1.0
— это версия пакета, а foo
— это его имя.Использование конфигурационных файлов
Для опытных пользователей и администраторов предусмотрена возможность создания конфигурационных файлов. Значения параметров по умолчанию можно задать в конфигурационном файле, который имеет формат ini-файла. easy_install осуществляет поиск конфигурационного файла в следующем порядке: текущий_каталог/setup.cfg, ~/.pydistutils.cfg и в файле distutils.cfg, в каталоге пакета distutils.
Пример такого файла:
[easy_install]
# где искать пакеты
find_links = code.example.com/downloads
# ограничить поиск по доменам
allow_hosts = *.example.com
# куда устанавливать пакеты (каталог должен находиться в переменной окружения PYTHONPATH)
install_dir = /src/lib/python
Используемые источники:
peak.telecommunity.com/DevCenter/EasyInstall — официальная документация
«Python в системном администрировании UNIX и Linux», Ноа Гифт и Джереми М. Джонс