Поиск по сайту:

Как настроить Python 2.7.6 и 3.3.3 на CentOS 6.4


Статус: устарело

В этой статье рассматривается версия CentOS, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением CentOS 6, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию CentOS.

Причина:

Смотрите вместо этого:

Следующий учебник может представлять интерес, так как в нем показано, как установить Python 3, а также pip и virtualenv на сервере CentOS 7:

  • Как установить Python 3 и настроить локальную среду программирования в CentOS 7

Введение

Чаще всего, как разработчик, вы будете в определенной степени нести ответственность за управление серверами, на которых работает ваше приложение. Когда дело доходит до выбора операционной системы, особенно для производства, выбор надежного решения, такого как CentOS, может быть заманчивой (безопасной) ставкой на будущее.

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

В этой статье DigitalOcean мы поговорим о загрузке и настройке Python (2.7.6 и 3.3.3) без нарушения системы по умолчанию 2.6 (или 2.4). Очень важно не вмешиваться в это, так как от этого зависят важные системные инструменты, такие как YUM. Кроме того, мы установим два популярных обязательных компаньона Python: pip и virtualenv.

После того, как мы закончим, вы сможете одновременно использовать обе версии Python на CentOS 6.4 или 5.8 VPS, создавать и использовать виртуальные среды и, наконец, загружать и управлять пакетами Python для каждой версии.

CentOS и ее варианты дизайна

Прежде чем мы приступим к установке, давайте поговорим о CentOS.

Почему CentOS поставляется со старыми версиями приложений?

CentOS является производным от RHEL (Red Hat Enterprise Linux). Целевой клиентурой для этих двух дистрибутивов являются предприятия, которым требуется, чтобы системы работали наиболее стабильно в течение многих лет.

Поэтому основной причиной здесь является стремление к стабильности системы, достигаемой за счет предоставления проверенных и более стабильных версий приложений. Философия «если это не сломано, не чини это» широко применяется здесь.

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

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

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

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

Подготовка системы и установка Python

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

Помните: вы можете просмотреть все доступные выпуски Python на странице Выпуски. Используя приведенные здесь инструкции, вы сможете установить любой или все из них.

Примечание. Это руководство должно быть действительным для CentOS версии 6.5, а также 5.8 и 6.4.

Обновление приложений CentOS по умолчанию

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

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

yum -y update

Подготовка системы к установке для разработки

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

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

Есть два способа получить инструменты разработки в вашей системе с помощью менеджера пакетов yum:

Вариант № 1 (не рекомендуется) заключается в загрузке этих инструментов (например, make, gcc и т. д.) по одному. За этим следуют попытки что-то разработать и, скорее всего, на полпути вы столкнетесь с ошибками — потому что вы забыли еще один пакет, поэтому вы снова переключитесь на загрузку.

Рекомендуемый и разумный способ сделать это — следовать варианту № 2: просто загрузить набор инструментов с помощью одной команды с группами программного обеспечения yum.

Группы программного обеспечения YUM

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

Группа, о которой идет речь, — это Инструменты разработки.

Как установить инструменты разработки с помощью YUM на CentOS

Чтобы получить необходимые инструменты разработки, выполните следующее:

yum groupinstall -y development

или;

yum groupinstall -y 'development tools'

Примечание. Прежняя (более короткая) версия может не работать в старых дистрибутивах CentOS.

Чтобы загрузить некоторые дополнительные пакеты, которые удобны:

yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel

Помните: хотя и необязательные, эти «удобные» инструменты очень необходимы для большинства задач, с которыми вы столкнетесь в будущем. Если они не установлены заранее, Python во время компиляции не сможет связать их.

Процедура установки Python из исходного кода

Настройка Python в нашей системе будет состоять из 3-х этапов и 4-х инструментов:

  1. Загрузка пакета сжатого исходного кода (wget),
  2. Извлечение файлов из этого пакета (tar),
  3. Настройка и сборка приложения (autoconf (configure)/make).

GNU wget

«Wget» от GNU — это приложение, используемое для загрузки файлов по различным протоколам (таким как HTTP, FTP). Несмотря на то, что оно отсутствовало в старых версиях CentOS, теперь оно установлено по умолчанию.

Пример использования для wget: wget [URL]

GNU Тар

GNU Tar — это, по сути, инструмент для создания файловых архивов и управления ими. Используя различные доступные опции, можно создавать сжатые пакеты, а также извлекать их позже.

Пример использования tar: tar [параметры] [аргументы]

GNU autoconf и GNU make

GNU autoconf и make — это два разных инструмента, которые (в основном) используются вместе для настройки исходного кода перед сборкой и установкой приложений.

Мы будем:

  • Используйте ./configure, чтобы настроить все перед установкой
  • Используйте make для подключения библиотек и исходного кода до
  • Использование make install (в нашем случае altinstall) для сборки (компиляции) исходного кода для создания двоичных файлов и установки приложения в нашей системе в соответствии с настройками с помощью ./configure.

Чтобы узнать больше об autoconf, прочтите его руководство.

Чтобы узнать больше о make, прочтите его руководство.

Загрузка, сборка (компиляция) и установка Python

В этом разделе все приведенные инструкции можно использовать для загрузки любой версии Python. Вам просто нужно будет заменить указанную версию (в приведенном ниже примере это «2.7.6») на требуемую версию (например, «3.3.3»). Вы можете установить и использовать несколько версий одновременно. Хотя при выполнении вам нужно будет указать их версию (т.е. вместо python вам нужно будет использовать python2.7 или python3.3).

Загрузка исходного архива

Начнем с извлечения (сжатого) архива, содержащего исходный код Python. Мы будем ориентироваться на --версию 2.7.6.

wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz

Пример для версии 3.3.3:

wget http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tar.xz

[Необязательный шаг] Инструменты XZ:

Этот файл сжат с использованием библиотеки XZ. Ваша система, в зависимости от ее версии, может не иметь его. Если это так, выполните следующее, чтобы установить библиотеку XZ:

 yum install xz-libs

Извлечение сжатого исходного архива

Этот процесс состоит из двух шагов: сначала декодирование архива XZ, а затем извлечение tar.

# Let's decode (-d) the XZ encoded tar archive:
xz -d Python-2.7.6.tar.xz


# Now we can perform the extraction:
tar -xvf Python-2.7.6.tar

Пример для версии 3.3.3:

xz -d Python-3.3.3.tar.xz
tar -xvf Python-3.3.3.tar

Настройка и установка

# Enter the file directory:
cd Python-2.7.6

# Start the configuration (setting the installation directory)
# By default files are installed in /usr/local.
# You can modify the --prefix to modify it (e.g. for $HOME).
./configure --prefix=/usr/local    

Пример для версии 3.3.3:

cd Python-3.3.3    
./configure

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

Сборка и установка

# Let's build (compile) the source
# This procedure can take awhile (~a few minutes)
make

# After building everything:
make altinstall

Пример для версии 3.3.3:

make && make altinstall   # <--- Two commands joint together

[Необязательный шаг] Добавление нового места установки Python в PATH

Примечание. Если вы следовали инструкциям, используя настройки по умолчанию, вам не нужно проходить этот раздел. Однако если вы выбрали другой путь для установки Python, чем /usr/local, вам потребуется выполнить следующие действия, чтобы запустить его без явного указания полного [установочного] пути каждый раз.

После завершения установки мы можем получить доступ к сгенерированным бинарникам (т.е. к интерпретатору Python для выбранной нами версии) только указав его полное местоположение (путь) (например, /usr/local/bin/python2.7) - если конечно путь уже существует в переменной PATH (т.е. переменная, которая сообщает, содержит информацию о том, где искать указанные файлы).

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

# Example: export PATH="[/path/to/installation]:$PATH"
export PATH="/usr/local/bin:$PATH"

Чтобы узнать больше о PATH, прочтите определение PATH в Информационном проекте Linux.

Настройка общих инструментов Python pip и virtualenv

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

Если вы хотите узнать больше об этих двух инструментах или просто освежить свои знания, рассмотрите возможность прочесть Общие инструменты Python: использование virtualenv, установка с помощью Pip и управление пакетами.

Установка pip в CentOS с использованием новой установки Python

Перед установкой pip нам нужно получить его единственную внешнюю зависимость — setuptools.

Из статьи о virtualenv и pip:

Он [setuptools] основан на (стандартной) функциональности набора утилит дистрибутива Python, который называется distutils. Учитывая, что distils предоставляется по умолчанию, все, что нам нужно, это setuptools.

Выполните следующие команды для установки setuptools:

Это установит его для версии 2.7.6.

# Let's download the installation file using wget:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz

# Extract the files from the archive:
tar -xvf setuptools-1.4.2.tar.gz

# Enter the extracted directory:
cd setuptools-1.4.2

# Install setuptools using the Python we've installed (2.7.6)
python2.7 setup.py install

После этого установить сам pip очень просто. Мы воспользуемся инструкциями из упомянутой выше статьи, чтобы автоматически и безопасно загрузить и установить его с помощью библиотеки cURL.

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

Давайте загрузим установочные файлы для pip и установим Python (2.7):

Это установит его для версии 2.7.6.

curl https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python2.7 -

Чтобы узнать, как использовать pip, обратитесь к статье Общие инструменты Python: использование virtualenv, установка с помощью Pip и управление пакетами.

Установка virtualenv на CentOS с использованием новой установки Python

Теперь, когда у нас есть готовый менеджер пакетов pip, установить virtualenv в системе очень просто.

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

pip install virtualenv

Чтобы узнать, как использовать virtualenv, обратитесь к статье Общие инструменты Python: использование virtualenv, установка с помощью Pip и управление пакетами.

Прислано: