Установка Flask и Python 3.3 в Debian 7

В документации по фреймворку Flask сказано, что можно использовать только Python 3.3 и выше (или 2.6 и выше). При этом в репозиториях Debian 7 доступна только Python версии 3.2. Можно попробовать изменить в настройках репозиториев в файле /etc/apt/sources.list wheezy на jessie и установить последнюю версию Python оттуда, но это влечет за собой обновление большого количества зависимостей. Данный вариант показался мне не приемлемым. Поэтому было решено устанавливать из исходников.

Устанавливаем зависимости:

aptitude install libncursesw5-dev libreadline-gplv2-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev liblzma-dev

Устанавливаем Python 3.3 из исходников в отдельную директорию /opt/python3.3:

cd /root
wget http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2
tar jxf ./Python-3.3.2.tar.bz2
cd ./Python-3.3.2/
./configure --prefix=/opt/python3.3
make -j 4
make install

Flask будем запускать в виртуальном окружении, для чего требуется установить virtualenv. Устанавливать его мы будем с помощью pip, который также требуется установить :-)

Если у вас свежая система, то предварительно устанавливаем cURL:

aptitude install curl

Устанавливаем pip и все необходимое:

cd /root
wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | /opt/python3.3/bin/python3
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
/opt/python3.3/bin/python3 get-pip.py
/opt/python3.3/bin/pip-3.3 install virtualenv

Вторая и третья строки - это одна строка.

Теперь создаем виртуальное окружение в директории в которой будет работать Flask:

cd /var/www/dev/
/opt/python3.3/bin/virtualenv --python=/opt/python3.3/bin/python3 venv

Активируем окружение и устанавливаем Flask:

. venv/bin/activate
pip install Flask

В первой строке вначале идет точка, затем пробел, затем venv/bin/activate.

Вот и все, фреймворк Flask работающий на Python 3.3 под Debian 7 установлен, можно вести разработку. Осталось настроить работу будущего сайта с помощью Nginx + uWSGI.

Наверх

Опубликовано