У меня есть приложение flask, основанное на Atlantis Dashboard .
Оно отлично работает на Windows с помощью команды:
flask run --host=0.0.0.0 --port=5000
.
Сейчас пытаюсь развернуть на сервере Linux, клонировал проект и пробовал запустить:
flask run
py -m app.app
waitress-serve --port=8001 run:app
- Пытался изменить синтаксис импорта
- .. еще 20 попыток
Но не могу заставить его работать! Я все время получаю сообщение об ошибке:
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Error: While importing "app", an ImportError was raised:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/flask/cli.py", line 240, in locate_app
__import__(module_name)
File "/var/www/project_x/app/__init__.py", line 21, in <module>
app.config.from_object('app.configuration.Config')
File "/usr/local/lib/python2.7/dist-packages/flask/config.py", line 174, in from_object
obj = import_string(obj)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/utils.py", line 585, in import_string
ImportStringError, ImportStringError(import_name, e), sys.exc_info()[2]
File "/usr/local/lib/python2.7/dist-packages/werkzeug/utils.py", line 576, in import_string
module = __import__(module_name, globals(), locals(), [obj_name])
File "/var/www/project_x/app/configuration.py", line 8, in <module>
from secret.keys import SECRET
ImportStringError: import_string() failed for 'app.configuration.Config'. Possible reasons are:
- missing __init__.py in a package;
- package or module path not included in sys.path;
- duplicated package or module name taking precedence in sys.path;
- missing module, class, function or variable;
Debugged import:
- 'app' found in '/var/www/project_x/app/__init__.pyc'.
- 'app.configuration' not found.
Original exception:
ImportError: No module named secret.keys
Структура проекта:
project_x
- app
- __pycache__
- __init__.py
- configuration.py
- api.py
- static
- templates
- secret
- keys.py
- run.py
Что я сделал не так? а почему Linux отличается ??