как установить модуль в python linux
Установка модулей Python¶
Как популярный проект разработки с открытым исходным кодом, Python имеет активное поддерживающее сообщество участников и пользователей, которые также делают свое программное обеспечение доступным для других разработчиков Python для использования на условиях лицензии с открытым исходным кодом.
Это позволяет Python пользователям эффективно обмениваться информацией и сотрудничать, извлекая выгоду из решений, которые другие уже создали для решения общих (а иногда даже редких!) проблем, а также потенциально внося свой вклад в создание общего пула.
Для корпоративных и других учрежденческих пользователей следует иметь в виду, что многие организации имеют свою собственную политику использования программного обеспечения с открытым исходным кодом и внесения вклада в него. Пожалуйста, учитывайте такие политики при использовании средств распространения и установки, поставляемых с Python.
Ключевые термины¶
Базовое использование¶
Все стандартные инструменты пакетизации предназначены для использования из командной строки.
Следующая команда установит последнюю версию модуля и его зависимостей из Пакетного индекса Python (PIP):
Для пользователей Windows в примерах этого руководства предполагается, что при установке Python была выбрана опция настройки системной переменной среды PATH.
Как правило, если подходящий модуль уже установлен, попытка его повторной установки не будет иметь никаких последствий. Необходимо явно запросить обновление существующих модулей:
Дополнительную информацию и ресурсы, касающиеся pip и его возможностей, можно найти в Руководство пользователя пакетизации Python.
Как я это делаю?¶
Это быстрые ответы или ссылки на некоторые общие задачи.
… установить pip в версиях Python до Python 3.4?¶
Python начал содержать pip только с Python 3.4. Для более ранних версий pip необходимо «загрузить», как описано в руководстве пользователя по пакетизации Python.
… устанавливать пакеты только для текущего пользователя?¶
… установить научные пакеты Python?¶
… работать с несколькими версиями Python, установленных параллельно?¶
Также могут быть доступны команды pip с соответствующей версией.
Распространенные проблемы установки¶
Установка в систему Python в Linux¶
В таких системах часто при установке пакетов с pip лучше использовать виртуальную среду или пользовательскую установку.
Pip не установлен¶
Возможно, что pip не будет установлен по умолчанию. Одним из возможных исправлений является:
Имеются также дополнительные ресурсы для установки pip.
Установка двоичных расширений¶
Python, как правило, в значительной степени полагается на распределение на основе сорцов, при этом конечные пользователи должны компилировать модули расширения из источника в рамках процесса установки.
Как устанавливать пакеты в Python — с PIP и без
Прежде чем что-то устанавливать, давайте разберёмся, что такое пакет, чем он отличается от модуля, и как с ним работать. У слова «пакет» применительно к Python два значения.
Установка PIP для Python 3 и 2
Если вы используете виртуальные окружения на базе venv или virtualenv, pip уже установлен. Начиная с Python 3.4 (для Python 2 — с версии 2.7.9) pip поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов нужно вручную. Вариантов два:
C помощью скрипта get_pip.py — быстро.
Через setuptools — кроме pip сможем использовать easy_install.
Вариант 1. Скачиваем скрипт get_pip.py и запускаем в консоли. Для этого открываем терминал через Win+R>»cmd»>OK и пишем:
Полный путь полезен и в том случае, если у вас на компьютере несколько версий Python и вы ставите пакет для одной из них.
Вариант 2. Скачиваем архив с setuptools из PYPI и распаковываем в отдельный каталог. В терминале переходим в директорию setuptools c файлом setup.py и пишем:
python setup.py install
Установка пакета в pip
Пора запустить pip в Python и начать устанавливать пакеты короткой командой из консоли:
pip install имя_пакета
Обновить пакет не сложнее:
Если у вас последняя версия пакета, но вы хотите принудительно переустановить его:
Посмотреть список установленных пакетов Python можно с помощью команды:
Найти конкретный пакет по имени можно командой «pip search». О других командах можно прочесть в справке, которая выдается по команде «pip help».
Удаление пакета Python
Когда пакет больше не нужен, пишем:
pip uninstall имя_пакета
Как установить пакеты в Python без pip
он не удаляет пакеты,
он может пытаться установить недозагруженный пакет.
Если нужно скачать пакет из альтернативного источника, вы можете задать URL или локальный адрес на компьютере:
Список пакетов, установленных через easy_install, хранится в файле easy-install.pth в директории /libs/site-packages/ вашего Python.
К счастью, удалять установленные через easy_install пакеты можно с помощью pip. Если же его нет, потребуется удалить пакет вручную и стереть сведения о нем из easy-install.pth.
Теперь вы умеете ставить и удалять пакеты для вашей версии Python.
Кстати, для тех, кто изучает Python, мы подготовили список полезных и практичных советов.
Прежде чем что-то устанавливать, давайте разберёмся, что такое пакет, чем он отличается от модуля, и как с ним работать. У слова «пакет» применительно к Python два значения.
Установка PIP для Python 3 и 2
Если вы используете виртуальные окружения на базе venv или virtualenv, pip уже установлен. Начиная с Python 3.4 (для Python 2 — с версии 2.7.9) pip поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов нужно вручную. Вариантов два:
C помощью скрипта get_pip.py — быстро.
Через setuptools — кроме pip сможем использовать easy_install.
Вариант 1. Скачиваем скрипт get_pip.py и запускаем в консоли. Для этого открываем терминал через Win+R>»cmd»>OK и пишем:
Полный путь полезен и в том случае, если у вас на компьютере несколько версий Python и вы ставите пакет для одной из них.
Вариант 2. Скачиваем архив с setuptools из PYPI и распаковываем в отдельный каталог. В терминале переходим в директорию setuptools c файлом setup.py и пишем:
python setup.py install
Установка пакета в pip
Пора запустить pip в Python и начать устанавливать пакеты короткой командой из консоли:
pip install имя_пакета
Обновить пакет не сложнее:
Если у вас последняя версия пакета, но вы хотите принудительно переустановить его:
Посмотреть список установленных пакетов Python можно с помощью команды:
Найти конкретный пакет по имени можно командой «pip search». О других командах можно прочесть в справке, которая выдается по команде «pip help».
Удаление пакета Python
Когда пакет больше не нужен, пишем:
pip uninstall имя_пакета
Как установить пакеты в Python без pip
он не удаляет пакеты,
он может пытаться установить недозагруженный пакет.
Если нужно скачать пакет из альтернативного источника, вы можете задать URL или локальный адрес на компьютере:
Список пакетов, установленных через easy_install, хранится в файле easy-install.pth в директории /libs/site-packages/ вашего Python.
К счастью, удалять установленные через easy_install пакеты можно с помощью pip. Если же его нет, потребуется удалить пакет вручную и стереть сведения о нем из easy-install.pth.
Теперь вы умеете ставить и удалять пакеты для вашей версии Python.
Кстати, для тех, кто изучает Python, мы подготовили список полезных и практичных советов.
Как установить или удалить модуль Python?
Лучший и рекомендуемый способ установки модулей Python — использовать pip, менеджер пакетов Python.
Если у вас установлен Python 2> = 2.7.9 или Python 3> = 3.4 с python.org, у вас уже есть pip и setuptools, но вам потребуется обновить его до последней версии:
Если вы используете установку Python в Linux, которая управляется менеджером системных пакетов (например, «yum», «apt-get» и т. Д.), И вы хотите использовать менеджер системных пакетов для установки или обновления pip, то смотрите: https://packaging.python.org/guides/installing-using-linux-tools/
В противном случае:
Загрузите файл get-pip.py с веб-сайта https://bootstrap.pypa.io/get-pip.py. Запустите python get-pip.py. Это установит или обновит пункт.
Теперь вы можете использовать pip для установки пакетов Python. Например, чтобы установить последнюю версию «SomeProject»:
Чтобы установить конкретную версию:
Чтобы установить больше или равно одной версии и меньше другой:
Вы можете удалить большинство установленных пакетов Python, используя pip. Для получения дополнительной информации об удалении из pip перейдите по ссылке : https://pip.pypa.io/en/stable/reference/pip_uninstall/. Например, если у вас установлен пакет numpy и вы хотите удалить его, введите следующее:
Однако есть некоторые исключения. Эти пакеты не могут быть легко удалены с помощью pip:
1. Чистые пакеты distutils, установленные с помощью python setup.py install, которые не оставляют метаданных, чтобы определить, какие файлы были установлены.
2. Разработка сценариев, установленных Python setup.py.
Вам необходимо удалить все файлы вручную, а также отменить любые другие действия, которые установка выполняла вручную.
Если вы не знаете список всех файлов, вы можете переустановить его с параметром —record и взглянуть на список, который он создает. Для записи списка установленных файлов вы можете использовать:
Установка модулей Python (устаревшая версия)¶
Установка модулей Python Актуальная документация по установке модуля. При регулярном использовании Python вам почти наверняка понадобится этот документ, а не этот.
Данный документ сохраняется исключительно до тех пор, пока документация setuptools на https://setuptools.readthedocs.io/en/latest/setuptools.html не будет самостоятельно охватывать всю приведённую здесь информацию.
В этом руководстве рассматриваются только основные инструменты для создания и распространения расширений, которые предоставляются как часть этой версии Python. Сторонние инструменты предлагают более простые в использовании и более безопасные альтернативы. Обратитесь к разделу быстрых рекомендаций руководства пользователя пакетизации Python для получения дополнительной информации.
Вступление¶
В Python 2.0 API distutils был впервые добавлен в стандартную библиотеку. Это предоставило разработчикам дистрибутивов Linux стандартный способ преобразования проектов Python в пакеты дистрибутивов Linux, а системным администраторам стандартный способ их установки непосредственно в целевые системы.
Эта устаревшая документация сохраняется только до тех пор, пока мы не будем уверены, что документация setuptools охватывает все необходимое.
Распределения исходного кода на основе Distutils¶
В Windows эту команду следует запускать из окна командной строки ( Пуск ‣ Стандартные ):
Стандартная сборка и установка¶
Варианты платформы¶
Вы всегда должны запускать команду установки из корневого каталога дистрибутива, то есть из подкаталога верхнего уровня, в который распаковывается исходный дистрибутив модуля. Например, если вы только что загрузили исходный код модуля foo-1.0.tar.gz в систему Unix, вы можете сделать это обычно:
Разделение работы¶
Запуск setup.py install собирает и устанавливает все модули за один запуск. Если вы предпочитаете работать постепенно, — особенно полезно, если вы хотите настроить процесс сборки, или если что-то идет не так, вы можете использовать сценарий установки, чтобы делать что-то одно за раз. Это особенно полезно, когда сборка и установка будут выполняться разными пользователями —, например, вы можете создать дистрибутив модуля и передать его системному администратору для установки (или сделать это самостоятельно с привилегиями суперпользователя).
Например, вы можете собрать все за один шаг, а затем установить все за один шаг, дважды вызвав сценарий установки:
Если вы это сделаете, вы заметите, что запуск команды install сначала запускает команду build, которая в данном случае быстро замечает, что ей нечего делать, поскольку всё в каталоге build обновлено.
Эта возможность может не понадобиться часто, если все, что вы делаете, это устанавливаете модули, загруженные из сети, но она очень удобна для более сложных задач. Если вы начнете распространять свои собственные модули и расширения Python, вы будете запускать множество отдельных команд Distutils самостоятельно.
Как работает сборка?¶
Макет по умолчанию для дерева сборки выглядит следующим образом:
. В этом случае каталог temp. plat содержит временные файлы, созданные в процессе компиляции/компоновки, которые фактически не устанавливаются. В любом случае каталог lib (или lib. plat ) содержит все модули Python (чистый Python и расширения), которые будут установлены.
В будущем будет добавлено больше каталогов для обработки скриптов Python, документации, двоичных исполняемых файлов и всего остального, что потребуется для выполнения работы по установке модулей и Python приложений.
Как работает установка?¶
После запуска команды build запускается install. Работа команды install относительно проста: всё что ей нужно сделать, это скопировать всё из build/lib (или build/lib. plat ) в выбранный вами устанавливаемый каталог.
Платформа | Стандартное место установки | Значение по умолчанию | Заметки |
---|---|---|---|
Unix (чистый) | prefix /lib/python X.Y /site-packages | /usr/local/lib/python X.Y /site-packages | (1) |
Unix (нечистый) | exec-prefix /lib/python X.Y /site-packages | /usr/local/lib/python X.Y /site-packages | (1) |
Windows | prefix \Lib\site-packages | C:\Python XY \Lib\site-packages | (2) |
Альтернативная установка¶
Часто бывает необходимо или желательно устанавливать модули в место, отличное от стандартного для сторонних модулей Python. Например, в системе Unix у вас может не быть разрешения на запись в стандартный каталог сторонних модулей. Или вы можете попробовать модуль, прежде чем сделать его стандартной частью вашей локальной установки Python. Это особенно верно при обновлении уже существующего дистрибутива: вы хотите убедиться, что ваша существующая база скриптов всё ещё работает с новой версией, перед фактическим обновлением.
Команда Distutils install предназначена для упрощения и безболезненной установки дистрибутивов модулей в другое место. Основная идея заключается в том, что вы указываете базовый каталог для установки, а команда install выбирает набор каталогов (называемых схема установки) в этом базовом каталоге для установки файлов. Детали различаются для разных платформ, поэтому прочтите, какой из следующих разделов относится к вам.
Альтернативный вариант установки: пользовательская схема¶
Эта схема разработана как наиболее удобное решение для пользователей, у которых нет разрешения на запись в глобальный каталог сайтов-пакетов или которые не хотят в него устанавливать. Он включается с помощью простой опции:
Файлы будут установлены в подкаталоги site.USER_BASE (далее userbase ). Эта схема устанавливает чистые модули Python и модули расширения в одно и то же место (также известное как site.USER_SITE ). Вот значения для UNIX, включая Mac OS X :
Тип файла | Каталог установки |
---|---|
модули | userbase /lib/python X.Y /site-packages |
скрипты | userbase /bin |
данные | userbase |
C инклудники | userbase /include/python X.Y abiflags / distname |
А вот значения, используемые в Windows :
Тип файла | Каталог установки |
---|---|
модули | userbase \Python XY \site-packages |
скрипты | userbase \Python XY \Scripts |
данные | userbase |
C инклудники | userbase \Python XY \Include |
Преимущество использования этой схемы по сравнению с другими, заключается в том, что каталог site-packages пользователя в нормальных условиях всегда включен в sys.path (см. site для получения дополнительной информации), что означает, что после запуска setup.py скрипт для завершения установки.
Альтернативный вариант установки: домашняя схема¶
Установить новый дистрибутив модуля так же просто, как:
); команда install расширит его до вашего домашнего каталога:
Тип файла | Каталог установки |
---|---|
модули | home /lib/python |
скрипты | home /bin |
данные | home |
C инклудники | home /include/python/ distname |
Мысленно замените косую черту обратной косой чертой, если вы работаете в Windows.
Альтернативная установка: Unix (префиксная схема)¶
«Схема префиксов» полезна, когда вы хотите использовать одну установку Python для выполнения сборки/установки (т.е. для запуска сценария установки), но устанавливать модули в каталог сторонних модулей другой установки Python (или чего-то, что выглядит как другая установка Python). Если это звучит немного необычно, т.к. пользовательская и домашняя схемы идут раньше. Однако есть как минимум два известных случая, когда префиксная схема будет полезна.
Тип файла | Каталог установки |
---|---|
модули Python | prefix /lib/python X.Y /site-packages |
модули расширения | exec-prefix /lib/python X.Y /site-packages |
скрипты | prefix /bin |
данные | prefix |
C инклудники | prefix /include/python X.Y abiflags / distname |
Альтернативная установка: Windows (префиксная схема)¶
установка модулей в каталог \Temp\Python на текущем диске.
Тип файла | Каталог установки |
---|---|
модули | prefix \Lib\site-packages |
скрипты | prefix \Scripts |
данные | prefix |
C инклудники | prefix \Include |
Пользовательская установка¶
Чтобы создать пользовательскую схему установки, вы начинаете с одной из альтернативных схем и переопределяете некоторые каталоги установки, используемые для различные типы файлов, используя следующие параметры:
Тип файла | Опция переопределения |
---|---|
модули Python | —install-purelib |
модули расширения | —install-platlib |
все модули | —install-lib |
скрипты | —install-scripts |
данные | —install-data |
C инклудники | —install-headers |
Например, предположим, что вы устанавливаете дистрибутив модуля в свой домашний каталог под Unix, но вы хотите, чтобы скрипты находились в
Это выполняет установку с использованием «схемы префиксов», где префикс — это то, что ваш интерпретатор Python был установлен с помощью /usr/local/python в данном случае.
Если вы хотите определить всю схему установки, вам просто нужно указать все параметры каталога установки. Рекомендуемый способ сделать это — указать относительные пути; например, если вы хотите сохранить все файлы, связанные с модулем Python, в python в своем домашнем каталоге и хотите отдельный каталог для каждой платформы, с которой вы используете свой домашний каталог, вы можете определить следующую схему установки:
или, что то же самое:
$PLAT не является (обязательно) переменной окружения — она будет расширена Distutils, когда она анализирует ваши параметры командной строки, так же, как он это делает при разборе вашего файла(ов) конфигурации.
Очевидно, что указывать всю схему установки каждый раз, когда вы устанавливаете новый дистрибутив модуля, было бы очень утомительно. Таким образом, вы можете поместить эти параметры в конфигурационный файл Distutils (см. раздел Файлы конфигурации Distutils ) :
или, что то же самое
Обратите внимание, что эти два не эквивалентны, если вы указываете другой базовый каталог установки при запуске сценария установки. Например
Изменение пути поиска Python¶
Нулевая строка в sys.path представляет текущий рабочий каталог.
Однако, если вы переустановите ту же основную версию Python (например, при обновлении с 2.2 до 2.2.2), site.py будет заменен стандартной версией. Вы должны помнить, что он был изменен, и сохранить копию перед установкой.
Наконец, sys.path — это просто обычный список Python, поэтому любое приложение Python может изменять его, добавляя или удаляя записи.
Файлы конфигурации Distutils¶
Как упоминалось выше, вы можете использовать файлы конфигурации Distutils для записи личных предпочтений или настроек сайта для любых опций Distutils. То есть любой параметр любой команды может быть сохранен в одном из двух или трех (в зависимости от вашей платформы) файлов конфигурации, с которыми будет выполняться консультация перед анализом командной строки. Это означает, что файлы конфигурации переопределят значения по умолчанию, а командная строка, в свою очередь, переопределит файлы конфигурации. Более того, если применяется несколько файлов конфигурации, значения из «более ранних» файлов заменяются «более поздними» файлами.
Расположение и имена файлов конфигурации¶
Имена и расположение файлов конфигурации незначительно различаются на разных платформах. В Unix и Mac OS X три файла конфигурации (в порядке их обработки) :
Тип файла | Расположение и имя файла | Примечания |
---|---|---|
системный | prefix /lib/python ver /distutils/distutils.cfg | (1) |
личный | $HOME/.pydistutils.cfg | (2) |
локальный | setup.cfg | (3) |
А в Windows это файлы конфигурации :
Тип файла | Расположение и имя файла | Примечания |
---|---|---|
системный | prefix \Lib\distutils\distutils.cfg | (4) |
личный | %HOME%\pydistutils.cfg | (5) |
локальный | setup.cfg | (3) |
На всех платформах «личный» файл можно временно отключить, передав параметр –no-user-cfg.
Синтаксис конфигурационных файлов¶
Например, ниже приведен полный файл конфигурации, который по умолчанию заставляет все команды запускаться тихо:
Если он установлен как системный конфигурационный файл, он повлияет на всю обработку любого распространения модуля Python любым пользователем в текущей системе. Если он установлен как ваш личный файл конфигурации (в системах, которые их поддерживают), он повлияет только на обрабатываемые вами дистрибутивы модулей. И если он используется как setup.cfg для определенного распределения модулей, он влияет только на этот дистрибутив.
Вы можете переопределить каталог «build base» по умолчанию и сделать так, чтобы команды build* всегда принудительно перестраивали все файлы со следующим :
что соответствует аргументам командной строки
за исключением того, что добавление команды build в командную строку означает, что команда будет запущена. Включение определенной команды в файлы конфигурации не имеет такого значения; это только означает, что если команда запущена, будут применяться параметры в файле конфигурации. (Или, если выполняются другие команды, извлекающие из него значения, они будут использовать значения из файла конфигурации.)
См. также раздел «Справочник» в руководстве «Распространение модулей Python».
Сборочные расширения: советы и хитрости¶
Настройка флагов компилятора/компоновщика¶
Компиляция расширения Python, написанного на C или C ++, иногда требует указания пользовательских флагов для компилятора и компоновщика, чтобы использовать определенную библиотеку или создать особый вид объектного кода. Это особенно верно, если расширение не тестировалось на вашей платформе или если вы пытаетесь скомпилировать Python.
В наиболее общем случае автор расширения мог предвидеть, что компиляция расширений будет сложной, и предоставил вам файл Setup для редактирования. Это, вероятно, будет сделано только в том случае, если дистрибутив модуля содержит много отдельных модулей расширения, или если для работы им часто требуются сложные наборы флагов компилятора.
Рассмотрим по очереди каждое из полей.
Использование компиляторов сторонних производителей в Windows¶
Borland/CodeGear C++¶
В этом подразделе описаны необходимые шаги для использования Distutils с компилятором Borland C++ версии 5.5. Сначала вы должны знать, что формат объектного файла Borland (OMF) отличается от формата, используемого версией Python, которую вы можете загрузить с веб-сайта Python или ActiveState. (Python собран с помощью Microsoft Visual C ++, который использует COFF в качестве формата объектного файла.) По этой причине вам необходимо преобразовать библиотеку Python python25.lib в формат Borland. Сделать это можно следующим образом:
Программа coff2omf поставляется с компилятором Borland. Файл python25.lib находится в каталоге Libs вашей установки Python. Если ваше расширение использует другие библиотеки (zlib, …), вам также необходимо преобразовать и их.
Преобразованные файлы должны находиться в тех же каталогах, что и обычные библиотеки.
Чтобы позволить Distutils скомпилировать ваше расширение с помощью Borland C++, вам нужно ввести:
C++Builder компилятор Информация о бесплатном компиляторе C++ от Borland, включая ссылки на страницы загрузки. Создание расширений Python с помощью бесплатного компилятора Borland Документ, описывающий, как использовать бесплатный компилятор C++ командной строки Borland для сборки Python.
GNU C / Cygwin / MinGW¶
В этом разделе описаны необходимые шаги для использования Distutils с компиляторами GNU C/C ++ в их дистрибутивах Cygwin и MinGW. [2] Для интерпретатора Python, созданного с помощью Cygwin, все должно работать без каких-либо из следующих шагов.
Не все расширения можно собрать с помощью MinGW или Cygwin, но многие можно. Скорее всего, не будут работать расширения, использующие C++ или зависящие от расширений Microsoft Visual C.
Чтобы позволить Distutils скомпилировать ваше расширение с помощью Cygwin, вам нужно ввести:
и для Cygwin в режиме без cygwin [3] или для типа MinGW:
Старые версии Python и MinGW¶
Следующие инструкции применимы только в том случае, если вы используете версию Python ниже 2.4.1 с MinGW ниже 3.0.0 (с binutils-2.13.90-20030111-1).
Для этих компиляторов требуются специальные библиотеки. Эта задача более сложная, чем для Borland C++, потому что нет программы для преобразования библиотеки. Сначала вам нужно создать список символов, которые экспортирует Python DLL. Вы можете найти хорошую программу для этой задачи по адресу https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/.
Расположение установленного python25.dll будет зависеть от параметров установки, а также от версии и языка Windows. При установке «только для себя» он появится в корневом каталоге установки. При общей установке он будет находиться в системном каталоге.
Затем вы можете создать из этой информации библиотеку импорта для gcc.
Если ваше расширение использует другие библиотеки (zlib, …), возможно вам придется преобразовать их тоже. Преобразованные файлы должны находиться в тех же каталогах, что и нормальные библиотеки.
Сборка модулей Python на платформе MS Windows с помощью MinGW Информация о создании необходимых библиотек для среды MinGW.