Меню Рубрики

Установка easy install python

easy_install: загрузка и установка Python-пакета

Easy Install — модуль python ( easy_install ), входящий в setuptools и позволяет автоматически загружать, компилировать, устанавливать Python-пакеты и управлять ими.

Для начального использования easy_install , достаточно указать имя файла, URL источника пакета или .egg-файл.

Пример 1. Установка пакета по имени, поиск в PyPI последней версии, автоматическая загрузка, билд и установка Python-пакета:

Пример 2. Установка и обновление пакет по имени пакета и версии, с помощью поиска ссылок на заданной странице загрузки:

Пример 3. Загрузка исходников с указанного URL, автоматический билд и установка пакета Python:

Пример 4. Установка ранее загруженного пакета в .egg-файле:

Example 5. Обновление ранее установленного пакета до последней версии с PyPI:

Пример 6. Установка источника дистрибутива, ранее загруженного в текущий каталог (новое в 0.5a9):

Пример 7. (новое в 0.6a1) Поиск источника пакета или URL системы контроля версий пакета, распаковка и проверка в

/projects/sqlobject (имя всегда будет в нижнем регистре), где пакет будет проверен или отредактирован. (Пакет не будет установлен при этом, но его просто будет установить последующей командой easy_install

Easy Install воспринимает URL (адреса), имена файлов, имена PyPI-пакетов ( distutils «установочных» имён) и спецификаторы пакет+версия. В каждом случае, Easy Install пытается определить последнюю доступную версию для загрузки, которая соответствует Вашим критериям.

При загрузке и обработке загружаемых файлов, Easy Install определяет файлы источники distutils с расширениями .tgz, .tar, .tar.gz, .tar.bz2 или .zip. И конечно он обрабатывает ранее созданные .egg-пакеты как и установщики .win32.exe с использованием distutils.

По умолчанию, пакеты устанавливаются в рабочий каталог установки Python site-packages , без указания Вами опций -d или —install-dir для указания альтернативного каталога, или без указания альтернативного расположения файлов в файлах конфигурации distutils.

По умолчанию, любые скрипты, включённые в пакет, устанавливаются в стандартный каталог установки скриптов рабочей директории установки Python. Однако, если Вы укажете каталог установки в командной строке или конфигурационном файле, тогда каталог по умолчанию для установки скриптов будет тем же, что и каталог установки пакетов, чтобы быть уверенным, что у скрипта будет доступ к установленному пакету. Такое поведение Вы можете переопределить, используя опции -s или —script-dir .

источник

Установка PIP для Python и базовые команды

Как любой серьёзный язык программирования, Python поддерживает сторонние библиотеки и фреймворки. Их устанавливают, чтобы не изобретать колесо в каждом новом проекте. Необходимы пакеты можно найти в центральном репозитории Python — PyPI (Python Package Index — каталог пакетов Python).

Однако скачивание, установка и работа с этими пакетами вручную утомительны и занимают много времени. Именно поэтому многие разработчики полагаются на специальный инструмент PIP для Python, который всё делает гораздо быстрее и проще.

Что такое PIP для Python?

Сама аббревиатура — рекурсивный акроним, который на русском звучит как “PIP установщик пакетов” или “Предпочитаемый установщик программ”. Это утилита командной строки, которая позволяет устанавливать, переустанавливать и деинсталлировать PyPI пакеты простой командой pip .

Если вы когда-нибудь работали с командной строкой Windows и с терминалом на Linux или Mac и чувствуете себя уверенно, можете пропустить инструкции по установке.

Устанавливается ли PIP вместе с Python?

Если вы пользуетесь Python 2.7.9 (и выше) или Python 3.4 (и выше), PIP устанавливается вместе с Python по умолчанию. Если же у вас более старая версия Python, то сначала ознакомьтесь с инструкцией по установке.

Правильно ли Python установлен?

Вы должны быть уверены, что Python должным образом установлен на вашей системе. На Windows откройте командную строку с помощью комбинации Win+X . На Mac запустите терминал с помощью Command+пробел , а на Linux – комбинацией Ctrl+Alt+T или как-то иначе именно для вашего дистрибутива.

На Linux пользователям Python 3.x следует ввести:

Если вы получили номер версии (например, Python 2.7.5 ), значит Python готов к использованию.

Если вы получили сообщение Python is not defined (Python не установлен), значит, для начала вам следует установить Python. Это уже не по теме статьи. Подробные инструкции по установке Python читайте в теме: Скачать и установить Python.

Как установить PIP на Windows.

Следующие инструкции подойдут для Windows 7, Windows 8.1 и Windows 10.

  1. Скачайте установочный скрипт get-pip.py. Если у вас Python 3.2, версия get-pip.py должны быть такой же. В любом случае щелкайте правой кнопкой мыши на ссылке и нажмите “Сохранить как…” и сохраните скрипт в любую безопасную папку, например в “Загрузки”.
  2. Откройте командную строку и перейдите к каталогу с файлом get-pip.py.
  3. Запустите следующую команду: python get-pip.py

Как установить PIP на Mac

Современные версии Mac идут с установленными Python и PIP. Так или иначе версия Python устаревает, а это не лучший вариант для серьёзного разработчика. Так что рекомендуется установить актуальные версии Python и PIP.

Если вы хотите использовать родную систему Python, но у вас нет доступного PIP, его можно установить следующей командой через терминал:

Если вы предпочитаете более свежие версии Python, используйте Homebrew. Следующие инструкции предполагают, что Homebrew уже установлен и готов к работе.

Установка Python с помощью Homebrew производится посредством одной команды:

Будет установлена последняя версия Python, в которую может входить PIP. Если после успешной установки пакет недоступен, необходимо выполнить перелинковку Python следующей командой:

Как установить PIP на Linux

Если у вас дистрибутив Linux с уже установленным на нем Python, то скорее всего возможно установить PIP, используя системный пакетный менеджер. Это более удачный способ, потому что системные версии Python не слишком хорошо работают со скриптом get-pip.py, используемым в Windows и Mac.

Читайте также:  Установка магнитолы напрямую к аккумулятору

Advanced Package Tool (Python 2.x)

Advanced Package Tool (Python 3.x)

pacman Package Manager (Python 2.x)

pacman Package Manager (Python 3.x)

Yum Package Manager (Python 2.x)

Yum Package Manager (Python 3.x)

Zypper Package Manager (Python 2.x)

Zypper Package Manager (Python 3.x)

Как установить PIP на Raspberry Pi

Как пользователь Raspberry, возможно, вы запускали Rapsbian до того, как появилась официальная и поддерживаемая версия системы. Можно установить другую систему, например, Ubuntu, но в этом случае вам придётся воспользоваться инструкциями по Linux.

Начиная с Rapsbian Jessie, PIP установлен по умолчанию. Это одна из серьёзных причин, чтобы обновиться до Rapsbian Jessie вместо использования Rapsbian Wheezy или Rapsbian Jessie Lite. Так или иначе, на старую версию, все равно можно установить PIP.

На Rapsbian для Python 2.x следует пользоваться командой pip, а для Python 3.x — командой pip3 при использовании команд для PIP.

Как обновить PIP для Python

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

К счастью, обновление PIP проходит просто и быстро.

Для Mac, Linux, или Raspberry Pi:

На текущих версиях Linux и Rapsbian Pi следует использовать команду pip3.

Как устанавливать библиотеки Python с помощью PIP

Если PIP работоспособен, можно начинать устанавливать пакеты из PyPI:

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

Просмотр деталей об установленном пакете:

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

Список всех устаревших пакетов:

Обновление устаревших пакетов:

Следует отметить, что старая версия пакета автоматически удаляется при обновлении до новой версии.

источник

Высиживание «яиц» Python с помощью setuptools

PEAK для улучшенного управления пакетами и их установки

Серия контента:

Этот контент является частью # из серии # статей: Заклинание Python

Этот контент является частью серии: Заклинание Python

Следите за выходом новых статей этой серии.

Основы Python Enterprise Application Kit (PEAK) были раскрыты в двух предыдущих выпусках этой колонки «The Python Enterprise Application Kit» и «Масштабирование нового PEAK.» Коротко говоря, PEAK представляет собой мощную базу для быстрой разработки компонентов и повторного использования кода в Python.

В этих выпусках описывался модуль setuptools , дополнительный проект PEAK, который обеспечивает более простое управление и распространение пакетов, чем distutils .

Первое знакомство

Модуль setuptools делает свою работу незаметно для пользователя. Например, если вы загрузили пакет, который был собран с помощью setuptools , а не distutils , установка будет работать так, как вы этого ожидали: обычная установка python setup.py install . Для этого в пакет, собранный с помощью setuptools , добавляется небольшой загрузочный модульez_setup.py. Единственное предостережение здесь состоит в том, что ez_setup.py пытается в фоновом режиме загрузить и установить необходимый пакет setuptools , для чего, естественно, необходима машина, подключенная к сети. Если setuptools уже установлен на машине, выполнять эту фоновую задачу нет необходимости; если же её необходимо выполнять вручную, большая часть прозрачности теряется. Однако на большинстве современных машин есть соединение с Интернет; для машин, не подключенных к сети, выполнение нескольких дополнительных операций не будет слишком обременительным.

Реальное преимущество setuptools не в том, что он делает то же самое, что и distutils — даже несмотря на то, что этот модуль расширяет возможности distutils и упрощает организацию сценария setup.py . Гораздо важнее, что модуль setuptools расширяет возможности по управлению пакетами. Довольно прозрачным образом вы можете находить, загружать и устанавливать зависимости; вы можете переключаться между несколькими версиями пакета, установленными на одну систему; вы можете объявлять требования к определенным версиям пакета; а также проводить обновление до последней версии используемого вами пакета с помощью простой команды. Едва ли не самым впечатляющим является тот факт, что вы можете использовать пакеты даже тех разработчиков, которые ничего не делали для реализации совместимости с setuptools .

Давайте рассмотрим эти возможности подробнее.

Начальная загрузка

Утилита ez_setup.py представляет собой простой сценарий, который загружает все остальные части модуля setuptools . Слегка сбивает с толку то, что сценарий easy_install , который входит в полную версию пакета setuptools , делает то же самое, что и ez_setup.py . Автор предполагает, что setuptools уже установлен, поэтому он пропускает фоновую установку. Обе версии работают с одинаковыми параметрами и ключами.

Первым шагом процесса является простая загрузка небольшого сценария ez_setup.py :

Листинг 1. Скачивание загрузочного сценария

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

Листинг 2. Начальная загрузка setuptools

Все готово. Это всё, что вам нужно, чтобы быть уверенным, что на вашей системе установлен модуль setuptools .

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

Всё, что вам нужно сделать для установки многих пакетов Python — это передать их имена в качестве параметров сценарию ez_setup.py или easy_install . Теперь, когда модуль setuptools загрузился, вы можете использовать более простой сценарий easy_install (хотя на практике большой разницы в том, какой вариант вы выберете, нет).

Читайте также:  Установки для сварки дымоходов

Допустим, например, что вы желаете установить пакет SQLObject . Это можно сделать очень просто, как показано в листинге 3. Обратите внимание на сообщение, которое указывает на то, что SQLObject зависит от пакета FormEncode ; К счастью, всё делается само:

Листинг 3. Установка типичного пакета

Как видно из этих сообщений, easy_install выполняет поиск информации метаданных о пакете по адресу www.python.org/pypi/, затем находит фактические адреса для загрузки (в этом случае архив egg лежит прямо на cheeseshop.python.org ;

Вы можете не только просто установить последнюю версию пакета, как делается по умолчанию. При желанию вы можете указать easy_install требования к установке определенной версии. Давайте попробуем установить последнюю бета-версию SQLObject:

Листинг 4. Установка младшей версии пакета

Если (как в этом случае на момент написания этой статьи) последняя версия SQLObject меньше, чем 1.0, то устанавливать будет нечего.

Установка «неосведомленных» пакетов

Пакет SQLObject уже «знает» о setuptools , а что будет, если вы желаете установить пакет, автор которого не предусматривал использование setuptools ? Например, до написания этой статьи я никогда не использовал setuptools с моими утилитами Gnosis. Итак, давайте попробуем установить пакет, зная только адрес HTTP (или FTP, SVN, CVS), где он хранится ( setuptools знает все эти протоколы). На моем сайте доступны для загрузки архивы различных версий утилит Gnosis, имена которым даны обычным образом:

Листинг 5. Установка пакета, не знающего о setuptools

К счастью для нас, сценарий easy_install со всем разобрался. Он просматривает каталог загрузки, находит последнюю версию, распаковывает архив и запаковывает его снова как «egg», который после этого устанавливается. Теперь импорт gnosis отлично работает в сценарии. Однако допустим, что вам нужно проверить в сценарии определенную более раннюю версию утилит Gnosis? Это достаточно просто:

Листинг 6. Установка определенной версии «неосведомленного» пакета

Сейчас фактически установлено две версии утилит Gnosis, активной версией является 1.2.0. Переключение с активной версии на версию 1.2.1 также выполняется достаточно просто:

Листинг 7. Изменение «активной» версии для системы

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

Листинг 8. Использование версии пакета в сценарии

При указании этого требования модуль setuptools при запуске оператора import добавит указанную версию (или последнюю, если указано сравнение «больше чем»).

Создание пакетов, более осведомленных о setuptools

Я могу позволить пользователям устанавливать утилиты Gnosis, даже не зная каталога для загрузки. Это почти работает, просто потому, что утилиты Gnosis занесены в листинг на Python Cheeseshop. К несчастью, не зная о setuptools , я допустил небольшую неточность при создании записи для утилит Gnosis на python.org по адресу http://www.python.org/pypi/Gnosis%20Utilities/1.2.1. Если быть более точным, нумерация архивов выполнялась по шаблону Gnosis_Utils-N.N.N.tar.gz . (Утилиты также архивируются в архивы .zip и .tar.bz2, а несколько последних версий — как установочные программы win32.exe, и setuptools одинаково хорошо работает со всеми). Однако, название проекта на Cheeseshop пишется несколько иначе, как «Gnosis Utilities». Итак, небольшое административное изменение версии на Cheeseshop создает http://www.python.org/pypi/Gnosis_Utils/1.2.1-a как версию, вышедшую после официального выпуска. В самих архивах ничего не изменилось, лишь произошли незначительные изменения в метаданных Cheeseshop. С помощью небольших настроек мы можем ещё больше упростить установку (обратите внимание, что для тестирования я запустил промежуточную команду easy_install -m , удаляющую установленный пакет).

Листинг 9. Простое добавление осведомленности о setuptools

Я опускаю завершение процесса, так как оно аналогично тому, что мы уже видели. Единственное изменение состоит в том, что easy_install выполняет поиск на Cheeseshop (другими словами, на www.python.org/pypi/ ) метаданных пакета, соответствующего указанному имени, и использует их для поиска фактической ссылки для загрузки. В рассматриваемом примере в файле .ANNOUNCE не содержится ничего полезного, однако easy_install также будет просматривать и другие указанные ссылки, по которым может находиться каталог загрузки.

Всё об «eggs»

«Яйцо» — egg — представляют собой «упаковку», которая содержит все данные пакета. В идеале egg представляет собой файл, сжатый архиватором zip, содержащий все необходимые файлы пакета. Однако в некоторых случаях setuptools решает (или это указывается ключами), что пакет не должен быть сжат zip. В этих случаях «egg» представляет собой несжатый подкаталог, но с тем же содержанием. Версия с одним файлом удобна для передачи и экономит некоторое количество дискового пространства, однако egg-каталог имеет те же функциональные возможности и ту же организационную структуру. Пользователи технологии Java™, работающие с файлами JAR, найдут, что «egg» очень похожи на них.

Вы можете использовать «яйцо», просто указав место его расположения в PYTHONPATH или sys.path . Благодаря изменениям метода импорта в последних версиях Python (необходима версия 2.3.5+ или 2.4) пакет будет импортирован должным образом. Если вы желаете воспользоваться таким подходом, вам вообще не нужно утруждать себя занятиями с setuptools или ez_setup.py . Например, я размещаю egg для пакета PyYAML в рабочую директорию, которую я использовал для этой статьи. Я могу воспользоваться этим пакетом очень просто:

Листинг 10. «Egg» в PYTHONPATH

Однако манипуляции такого рода с PYTHONPATH (или sys.path в сценарии или сессии командного процессора Python) несколько рискованны. Поиск egg, по-видимому, лучше всего выполнять с помощью новейших возможностей файлов .pth. Все файлы .pth, найденные в «site-packages/» или в PYTHONPATH , просматриваются на предмет необходимости выполнения дополнительных операций импорта, точно таким же образом, каким выполняется поиск в каталогах, которые могут содержать пакеты. Если вы выполняете управление пакетами с помощью setuptools , при установке, обновлении, удалении пакетов и т.д. автоматически обновляется файл easy-install.pth. Однако вы можете назвать файлы .pth так, как вам будет удобно (главное, чтобы у них было расширение .pth). Ниже приведен пример моего файла easy-install.pth:

Читайте также:  Установки осушки воздуха каталог
Листинг 11. Файлы .pth как конфигурация места расположения egg

Здесь используется специфический формат: это почти, но не совсем, сценарий Python. Достаточно сказать, что вы можете добавлять сюда новые egg — или, что ещё лучше, при запуске easy_install будет делать это за вас. Кроме того, вы можете создать в папке site-packages/ любое число файлов .pth, в каждом из которых просто перечисляются egg, которые должны быть доступны.

Расширение сценариев командного процессора

Описанная выше методика установки пакета, не осведомленного о setuptools , (см. Listing 6) работает только частично. Это означает, что пакет Gnosis_Utils устанавливается, но не полностью. Все основные функции работают, однако множество вспомогательных файлов при автоматической генерации egg пропускаются — главным образом это файлы документации с расширением .txt и файлы проверки с расширением .xml (но также и некоторые вспомогательные README, .rnc, .rng, .xsl, и прочие файлы подпакетов). На самом деле все эти вспомогательные файлы из категории «желательных», но не обязательных. И все же мы хотели бы включить все вспомогательные файлы.

Сценарий setup.py для Gnosis_Utils весьма сложен. Вдобавок к указанию основных метаданных в 467 строках кода, он выполняет целый пакет проверок ошибок и совместимости версий Python; обходит сбои старых версий distutils ; пропускает установку неподдерживаемых элементов (например, в случае, если в состав вашего дистрибутива Python не входит pyexpat ); выполняет преобразование концов строк для определенной ОС; создает несколько типов архивов и инсталляторов; а также выполняет повторную сборку файла MANIFEST на основе проведенных проверок. Все эти возможности реализованы в основном благодаря соавтору пакета Фрэнку МакИнгвейлу (Frank McIngvale). Они позволяют при необходимости успешно устанавливать Gnosis_Utils для Python начиная с версии 1.5.1 (с сокращением возможностей в более ранних версиях). Вкратце мораль состоит в том, что вам не нужно делать столь же сложный сценарий distutils : он просто предполагает, что установлена «нормальная», последняя версия Python. И всё-таки впечатляет, как просто setuptools позволяет создать сценарий установки.

Для начала давайте создадим сценарий setup.py , позаимствованный из руководства к setuptools , и попробуем создать egg, использующий его:

Листинг 12. Сценарий setup.py setuptools

Эти процедура работает — по крайней мере, в некоторой степени. Она действительно создает egg с этими несколькими строками, однако этот egg имеет те же недостатки, что и созданная версия easy_install : в нем не хватает файлов, имеющих расширение, отличное от .py. Поэтому давайте попробуем ещё раз, чуть более аккуратно:

Листинг 13. Добавление отсутствующих данных пакета package_data

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

Листинг 14. Создание пакета с файлами определенных типов

Это означает, что необходимо включать файлы .txt в подпакет doc/ , все файлы .xml в подпакет xml/ , а все файлы .rnc в подпакет xml/relax/ .

Заключение

На самом деле я только приоткрыл возможности настройки дистрибутивов, осведомленных о существовании setuptools . Например, если у вас есть дистрибутив (или в предпочтительном формате egg, или в архиве другого типа), вы можете автоматически загрузить метаданные в Cheeseshop с помощью одной команды. Безусловно, полный сценарий setup.py должен содержать те же подробные метаданные, которые содержатся в старом сценарии distutils ; я пропустил это для простоты изложения, однако названия параметров совместимы с distutils .

Для того, чтобы достичь полной совместимости с огромными возможностями setuptools , нужно немного, однако это действительно облегчает и поддержание собственных и установку сторонних пакетов по сравнению с distutils . И если всё, что вас заботит — это установка пакетов, в этом введении содержится всё, что вам нужно знать; сложности начинаются только с описанием собственных пакетов, но эти сложности значительно меньше, чем необходимые для того, чтобы разобраться с distutils .

Ресурсы для скачивания

Похожие темы

  • Оригинал статьи Charming Python: Hatch Python eggs with setuptools
  • На сайте Python Cheese Shop можно загрузить последнюю версию setuptools .
  • Ознакомьтесь с предыдущими колонками Давида по PEAK: «The Python Enterprise Application Kit» (developerWorks, май 2004 г.) и «Масштабирование нового PEAK» (developerWorks, сентябрь 2005 г.)
  • На домашней странице PEAK можно найти общее введение к библиотеке.
  • Полное руководство по setuptools имеется в Интернете.
  • Gnosis Utilities комплект полезных библиотек Python Дэвида Мертца, можно скачать с Cheese Shop.
  • В зоне Linux сайта developerWorks вы найдете ресурсы для разработчиков Linux.
  • Используйте в своем следующем проекте разработки для Linux ознакомительные версии программного обеспечения IBM, которые можно скачать непосредственно с сайта developerWorks.

Комментарии

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

источник