Инструкция по запуску DEV сервера - moevm/mse_teacher_plan GitHub Wiki

Инструкция по установке:

  1. Установить интерпретатор Python >= 3.6 Для Windows: скачать последнюю версию по ссылке, загрузить Windows Installer нужной разрядности. При установке стоит поставить галочку в Add contents to PATH​ Для Linux: в режиме суперпользователя apt-get install python В некоторых дистрибутивах Linux в репозиториях лежит старая версия Python 3, не поддерживающая новые синтаксические конструкции. Может потребоваться собрать Python из исходников (инструкция) Если уже установлена другая версия интерпретатора, здесь и далее нужно заменить python на python3 (или на другое название, используемое в системе)
  2. Скачать mongoDB Server >=3.2 Для Windows Для Linux
  3. Загрузить проект git clone https://github.com/moevm/mse_teacher_plan.git Для дистрибутивов на основе Debian (Ubuntu, Linux Mint etc) написан скрипт install.sh, выполяющий действия 4-10 и проверяющий корректность установки
  4. (Настоятельно рекомендуется) создать Virtual Enviroment доступными средствами
    • Через virtualenv-wrapper: Для Windows:pip install virtualenv-wrapper-win​ Для Linux: pip install virtualenvwrapper mkvirtualenv mse_teacher_plan_env workon mse_teacher_plan_env – при повторном заходе в проект
    • Через virtualenv: pip install virtualenv virtualenv venv Запустить подходящий activate-скрипт в ./mse_teacher_plan_env/bin/
  5. Установить Node.JS и bower Для Windows Для Linux - в режиме суперпользователя: apt-get install nodejs Установка bower: npm install -g bower
  6. Установить зависимости. Для этого: запустить python3 setup.py install После чего запустить bower install Некоторые проблемы этапа:
    • Иногда pip вместо 'Flask' ищет пакет 'flask', который не может установить по объективным причинам. В этом случае стоит отдельно прописать pip install Flask. Периодически после такого требуется вручную установить зависимости Flask - актуальный список будет в логе установки
    • На текущий момент возникают проблемы с пакетом pyzmq. Флаг --ingore-installed pyzmq может помочь решить проблему
    • pip недавно получил обновление, из-за которого на некоторых системах выходит ошибка вроде cannot import name 'main'. Причин может быть множество, но наиболее частую в последнее время можно обойти, запуская pip так: python -m pip ...
  7. Установить wkhtmltopdf Для Linux - в режиме суперпользователя apt-get install wkhtmltopdf Для дистрибутивов на основе Debian также запустить скрипт wkhtmltox.sh, лежащий в корне проекта Для Windows
  8. Запустить сервер mongod Для Windows запустить mongod.exe Для Linux в режиме суперпользователя: systemctl start mongod
  9. Создать БД и пользователя. Для этого: запустить консоль mongo Для Windows запустить mongo.exe Для Linux - mongo В консоли mongo выполнить команды: use moevm_flask db.createUser( { user: "python", pwd: "python", roles: [ { role: "readWrite", db: "moevm" } ] } )
  10. Импортировать модели и отчёты. Для этого (после выхода из консоли mongo) выполнить команды mongoimport --db moevm_flask --collection Models --file models.json mongoimport --db moevm_flask --collection Reports --file reports.json mongoimport поставляется вместе с сервером. Для Windows положить папку сервера в PATH или использовать абсолютный путь для models.json
  11. Запуск приложения: Установить параметры запуска:​ Для Windows (cmd): set FLASK_APP=main.py Для Linux: export FLASK_APP=main.py​ python –m flask run Приложение будет доступно по адресу, выведенному в консоль