Установка Web2py

Web2py - бесплатный масштабируемый полнофункциональный фреймворк с открытым исходным кодом для Python. В данной статье мы расскажем, как с лёгкостью установить данный фреймворк у нас на хостинге.

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

  • Шаг 1Для установки Web2py Вы можете перейти по данной ссылке на официальный сайт и скачать zip-архив исходного кода ("Source Code"). Качаем версию для python 3.7, и только если не заработало - можно попробовать версию 2.7

    После завершения загрузки переходим в файловый менеджер панели управления хостингом и распаковываем архив в папку проекта.

    Архив распакуется в директорию web2py, далее его следует перенести в корневую директорию www (или другую директорию поддомена) так, чтобы файлы были "в корне" веб-сервера.

  • Шаг 2Переходим в директорию с распакованными исходниками web2py. Через ssh это делается командой:

    cd domain_name.ru/htdocs/www

    Копируем файл wsgihandler.py из папки handlers/ в корневую директорию проекта:

    [username www]# cp handlers/wsgihandler.py .

    Далее, в файл .htaccess добавляем следующее:

    AddHandler wsgi-script .py
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /wsgihandler.py/$1 [QSA,PT,L]

    Проверяем работу начальной страницы.

  • Шаг 3 (опциональный)Создание виртуального окружения Python для установки и работы с собственными модулями.

    Виртуальное окружение создаем в корневой директории:

    cd ~

    С названием директории python:

    /opt/python3/bin/virtualenv --python=/opt/python3/bin/python3 python

    В файл /domain_name.ru/htdocs/www/wsgihandler.py добавляем следующие строки (после строки "SOFTCRON = False"):

    virtual_env = os.path.expanduser('/home/hostXXXXXXX/python/')
    activate_this = os.path.join(virtual_env,'bin/activate_this.py')
    with open(activate_this) as f:
        exec(f.read(), {'__file__': activate_this})

    Теперь можно включить окружение в консоли (после этого должно немного измениться приглашение командной строки):

    source ~/python/bin/activate

    и ставим нужные модули, например mysqlclient:

    pip3 install mysqlclient

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