Установка Flask

Flask - микрофреймворк с модульным дизайном, который позволяет адаптировать его для выполнения многих задач. Из "коробки" доступны встроенный сервер и дебаггер, шаблоны Jinja2, поддержка безопасных кукис, Unicode и возможность подключения к любой ORM. В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.

Алгоритм по установке Flask

  • Шаг 1После создания технического домена (для примера мы создали flask-dev.com), переходим в раздел SSH через панель управления хостингом и нажимаем Открыть SSH клиент (доступен только для оплаченных аккаунтов). Для начала создадим несколько алиасов:

    echo "alias python='/opt/python3/bin/python3.6'" >> ~/.bashrc
    echo "alias pip='/opt/python3/bin/pip3.6'" >> ~/.bashrc
    echo "alias virtualenv='/opt/python3/bin/virtualenv'" >> ~/.bashrc
    source ~/.bashrc

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

    cd flask-dev.com/htdocs/www
    virtualenv virtualenv
    source virtualenv/bin/activate
  • Шаг 2Для установки Flask Вам потребуется пакетный менеджер pip. Менеджер pip позволяет загружать пакеты. Установим две необходимые нам библиотеки:

    ./virtualenv/bin/pip install Flask bottle

    Необходимые пакеты установились в директорию ~/flask-dev.com/htdocs/www/virtualenv/lib/python3.6/site-packages.

  • Шаг 3Откроем вкладку файлового менеджера и перейдём в директорию ~/flask-dev.com/htdocs/www.

    Создадим папку HelloFlask и в ней новый файл app.py. Наполним его следующим содержимым:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def main():
        return "Hello Flask!"
  • Шаг 4Далее вернёмся в корень сайта и добавим два новых файла: .htaccess и файл index.wsgi.

    В файле .htaccess пропишем следующие настройки:

    Options +ExecCGI
    AddHandler wsgi-script .wsgi
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.wsgi/$1 [QSA,PT,L]
    

    И наконец, для запуска нашего приложения добавим в index.wsgi следующие директивы (с комментариями для Вас):

    import os
    import sys
    BASE_DIR = '/home/hostXXXXXXX/flask-dev.com/htdocs/www/' # путь до сайта
    
    # Добавляем путь в переменные среды/переменное окружение
    sys.path.append(BASE_DIR)
    
    # делаем этот путь активным каталогом (т.е переходим в него)
    os.chdir(BASE_DIR)
    
    # Подключение виртуальной среды python (опционально)
    # Указываем путь до активации виртуальной среды (замена source activate)
    activate_this = '/home/hostXXXXXXX/flask-dev.com/htdocs/www/virtualenv/bin/activate_this.py'
    
    # Выполняем активацию
    exec(open(activate_this).read())
    
    # Добавляем путь в переменные среды пакеты python
    sys.path.append('/home/hostXXXXXXX/flask-dev.com/htdocs/www/virtualenv/lib/python3.6/site-packages/')
    
    from bottle import default_app
    
    sys.path.insert(0, '/home/hostXXXXXXX/flask-dev.com/htdocs/www/HelloFlask/')
    from app import app as application
  • Вместо hostXXXXXXX конечно же пишем номер своего аккаунта.

Если при открытии сайта выводится Hello Flask! поздравляем! Можете продолжать разработку.

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».