Site icon 8HOST.COM

Установка Python 2.7.6 и 3.3.3 на CentOS 6.4

Вступление

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

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

В данной статье речь пойдет о загрузке и установке Python (2.7.6 и 3.3.3), которая не причинит вреда установленной по умолчанию версии 2.6 (или 2.4).

Очень важно не повредить версию по умолчанию, так как от нее зависят важнейшие инструменты системы, такие как YUM. Кроме того, нужно будет установить два популярных спутника Python – pip и virtualenv.

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

Немного о CentOS

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

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

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

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

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

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

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

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

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

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

Запомните: чтобы просмотреть все доступные версии Python, проверьте страницу Releases. Приведенные здесь инструкции помогут установить любую из них.

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

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

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

Для этого запустите:

yum -y update

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

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

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

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

Вариант №1 (не рекомендуется) – это скачать необходимые инструменты (make, gcc, и т.п.) по одному. При этом во время разработки часто возникают ошибки – поскольку какой-то пакет не был установлен; приходится отложить разработку и вернуться к этапу установки пакетов.

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

Программные группы yum

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

Группа, необходимая для разработки приложений, называется Development Tools.

Установка Development Tools с помощью 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 будет состоять из трех этапов и четырех инструментов:

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

GNU wget

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

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

wget [URL]

GNU Tar

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

Пример использования tar: tar [options] [arguments]

GNU autoconf и GNU make

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

Используйте:

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

Инструкции, приведенные в данном разделе, могут быть использованы для загрузки любой версии Python. Все, что нужно сделать – это заменить указанную версию необходимой (например, изменить 2.7.6 на 3.3.3). Кроме того, можно установить и использовать несколько версий одновременно. Для этого нужно будет указать версию при запуске python (т.е. использовать не просто 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

Распаковка сжатого архива исходников

Данный процесс состоит из двух этапов:

  1. расшифровки архива XZ;
  2. извлечения tar.

# Чтобы расшифровать (decode (-d)) архив tar:
xz -d Python-2.7.6.tar.xz
# Извлечь файлы:
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

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

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

# Откройте каталог с данным файлом:
cd Python-2.7.6
# Начните конфигурирование(задайте каталог установки)
# По умолчанию файлы устанавливаются в /usr/local.
# Отредактируйте --prefix, чтобы изменить это (например, на $HOME).
./configure --prefix=/usr/local

Для версии 3.3.3:

cd Python-3.3.3
./configure

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

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

Подготовив систему, можно перейти к сборке (компиляции) исходного кода и установке приложения. Как правило, для этого используется команда «make install»; но в данном случае лучше использовать «make altinstall» во избежание переопределения системных значений по умолчанию и перезаписи уже существующей в системе версии Python.

# Скомпилируйте исходный код
# Данная процедура может занять некоторое время (~ несколько минут)
make
# Завершив компиляцию, запустите:
make altinstall

Для версии 3.3.3:

make && make altinstall #

Добавление расположения установки Python в PATH (дополнительно)

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

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

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

# Пример: export PATH="[/path/to/installation]:$PATH"
export PATH="/usr/local/bin:$PATH"

Чтобы узнать о PATH больше, обратитесь к информационному проекту Linux (Linux Information Project).

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

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

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

Установка pip на CentOS при помощи новой инсталляции Python

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

Из указанной выше статьи о virtualenv и pip:

Библиотека setuptools основана на стандартных функциях набора утилит дистрибутива Python под названием distutils. Учитывая, что distutils предоставляется по умолчанию, все что нужно сделать – установить setuptools.

Чтобы установить setuptools, выполните следующие команды (для версии 2.7.6):

# Скачайте установочный файл с поиощью wget:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
# Извлеките файлы из архива:
tar -xvf setuptools-1.4.2.tar.gz
# Перейдите в извлеченный каталог:
cd setuptools-1.4.2
# Установите setuptools при помощи Python(2.7.6)
python2.7 setup.py install

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

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

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

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

Установка virtualenv на CentOS с помощью Python

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

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

pip install virtualenv

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