/
aastray
/
StudentPart
Обзор
Документация
Войти
/
aastray
/
StudentPart
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
run_local.sh
53 строки
3 KB
aastray
Реализован функционал загрузки файлов и просмотра документов, удалены базовые эндпоинты, обновлена документация
10 янв 2026, 15:38
10 янв 2026, 15:38
4d47c55
Код
Авторство
О чём код?
#!/bin/bash # Скрипт для запуска приложения локально с правильными путями # Получаем абсолютный путь к корню проекта PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Активируем виртуальное окружение, если оно существует if [ -f "${PROJECT_ROOT}/venv/bin/activate" ]; then source "${PROJECT_ROOT}/venv/bin/activate" echo "✓ Виртуальное окружение активировано" elif [ -f "${PROJECT_ROOT}/.venv/bin/activate" ]; then source "${PROJECT_ROOT}/.venv/bin/activate" echo "✓ Виртуальное окружение активировано" fi # Устанавливаем PYTHONPATH для корректной работы импортов export PYTHONPATH="${PROJECT_ROOT}/service:${PROJECT_ROOT}/API-lib:${PYTHONPATH}" # Проверяем наличие .env файла (pydantic-settings сам загрузит его) if [ -f "${PROJECT_ROOT}/.env" ]; then echo "✓ Файл .env найден (будет загружен pydantic-settings)" else echo "⚠ Предупреждение: файл .env не найден в корне проекта" fi # Проверяем, занят ли порт 8000 if lsof -Pi :8000 -sTCP:LISTEN -t >/dev/null 2>&1 ; then echo "⚠ Ошибка: Порт 8000 уже занят!" echo " Возможно, приложение уже запущено или используется Docker контейнер." echo " Решения:" echo " 1. Остановите запущенное приложение: pkill -f 'uvicorn src.main'" echo " 2. Или остановите Docker: docker-compose down" echo " 3. Или используйте другой порт: uvicorn src.main:app --reload --host 0.0.0.0 --port 8001" exit 1 fi echo "PYTHONPATH установлен: $PYTHONPATH" echo "Запуск приложения на http://0.0.0.0:8000" echo "Документация API: http://localhost:8000/docs" echo "" # Проверяем наличие необходимых зависимостей if ! python -c "import multipart" 2>/dev/null; then echo "⚠ Предупреждение: python-multipart не установлен" echo " Устанавливаю python-multipart..." pip install python-multipart fi # Переходим в директорию service и запускаем приложение # Pydantic Settings автоматически найдет .env файл в корне проекта # (путь вычисляется относительно файла settings.py) cd "${PROJECT_ROOT}/service" uvicorn src.main:app --reload --host 0.0.0.0 --port 8000