Centos оновлення python до 2

Centos оновлення python до 2
За замовчуванням - CentOS 6 використовує Python 2.6, і Django 1.3.

Ще одне зауваження, перш ніж ви почнете - з ймовірністю в 99% - проекти на Django 1.3 не «злетять" на Django 1.8.

Основна проблема при оновленні (яка чомусь майже ніде не вказується) - це те, що YUM залежить від від версії Python:

Нижче буде показано - як саме це проявляється.

Установка виконується на:

Оновлюємо всі встановлені пакети:

Крім того - для установки Setuptools потрібно модуль zlib-devel:

Так як без нього - буде помилка при виклику zlib ():

А для установки PIP - модуль openssl-devel:

Без якого буде виникати така помилка:

Установка Python 2.7

Важливо, що б / usr / local / bin був до / usr / bin - тому що Python 2.6 встановлений в / usr / bin. а Python 2.7 - буде встановлюватися в / usr / local / bin (далі - покажу як це визначається).

Перевіряємо наявність компілятора:

Якщо його немає - встановлюємо:

З сайту Python завантажуємо останню доступну версію:

Розпаковуємо, міняємо директорію:

Перевіряємо залежності і створюємо Makefile:

Тепер, повертаючись до питання про $ PATH. якщо подивитися створений Makefile - то видно, що prefix за замовчуванням вказано / usr / local:

Що і потрібно. Змінити його можна опцією --prefix:

Перевіряємо - який саме Python використовується:

Тоді як старий - залишився в системі:

І дійсно - з Python 2.7 YUM працювати не може:

Тоді як з Python 2.6 - все працює як і раніше:

Не знаю - як саме YUM визначає шлях до Python - але факт, він продовжує використовувати / usr / bin.

Якщо якихось модулів не вистачає (як openssl-devel на початку статті) - досить просто пересобрать і встановити Python поверх:

З цим розібралися - переходимо до Setuptools і PIP.

установка Setuptools

установка PIP

Переходимо до Django 1.8.

Установка Django 1.8

У репозиторіях CentOS є Django 1.3:

Тому - завантажити вихідні, і встановимо вручну.

Розпаковуємо, міняємо директорію:

І далі-як зазвичай: