Irina
5
2326
Поделиться:
Irina
5
2326
Поделиться:

5 ответов

KeyJoo
30.11.2017 12:34
https://OsArts.ru, инжинер, программист

Почему-то в этом сообществе(Таймвэб) не принято делиться советами или решать актуальные проблемы... Очень вяло-текущий режим.

Oleg Ponomarchuk
01.03.2018 22:22

Актуально!

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

public_html/index.wsgi:
activate_this = '/home/{user_char}/{user_name}/{path_to_venv}/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
import sys
sys.path.insert(0, '/home/{user_char}/{user_name}/flask_test/')
from flask_test.app import app as application

структура проекта:
flask_test/:
-- flask_test/:
---- __init__.py
---- app.py

Добрый день! Получилось запустить Flask-проект на Python 3.4

может это кому-то поможет, я использовал следующие настройки:
public_html/.htaccess: (такой как и советовал Котов Артур Сергеевич)

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


public_html/index.wsgi: (тут заменен execfile на exec и добавлен путь к библиотекам в myenv)

activate_this = '/home/{user_char}/{user_name}/{path_to_venv}/bin/activate_this.py'
#execfile(activate_this, dict(__file__=activate_this))
exec(open(activate_this).read())
import sys
sys.path.insert(0, '/home/{user_char}/{user_name}/projectstar/public_html/projectstar/')
sys.path.insert(1, '/home/{user_char}/{user_name}/{path_to_venv}/lib/python3.4/site-packages/')
from app import app as application


структура проекта:
projectstar/:
-public_html/:
-- projectstar/:
---- __init__.py
---- app.py

Для bottle ->
---------- .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/c/[ ля ля ля ]/public_html' # путь до сайта
# Добавляем путь в переменные среды/переменное окружение
sys.path.append(BASE_DIR)
# делаем этот путь активным каталогом (т.е переходим в него)
os.chdir(BASE_DIR)
# $$$ Подключение виртуальной среды python (опционально)
# Указываем путь до активации виртуальной среды (замена source activate)
activate_this = BASE_DIR + '/env/bin/activate_this.py'
# Выполняем активацию
exec(open(activate_this).read())
# Добавляем путь в переменные среды пакеты python
sys.path.append(BASE_DIR + '/env/lib/python3.4/site-packages')
# $$$
# Bottle в данной конфигурации поставлен как свой пакет обычной копипастой(нужно если не использовать virtualenv)
from bottle.bottle import default_app
# Если используем virtualenv то устанавливаем окружение, заходим в него и ставим пакет bottle
# следовательно его подключение будет выглядеть так from bottle import default_app
# подключаем наш проект (стартовый файл)
from main import main
# загружаем приложение
application = default_app()