|
import os |
|
import sys |
|
import subprocess |
|
|
|
def check_dependencies(): |
|
"""Проверяет, установлены ли все необходимые зависимости""" |
|
try: |
|
import flask |
|
import torch |
|
import transformers |
|
print("✅ Все необходимые зависимости установлены.") |
|
return True |
|
except ImportError as e: |
|
print(f"❌ Отсутствуют зависимости: {e}") |
|
return False |
|
|
|
def install_dependencies(): |
|
"""Устанавливает необходимые зависимости из requirements.txt""" |
|
print("📦 Установка зависимостей...") |
|
try: |
|
subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"]) |
|
print("✅ Зависимости успешно установлены!") |
|
return True |
|
except subprocess.CalledProcessError as e: |
|
print(f"❌ Ошибка при установке зависимостей: {e}") |
|
return False |
|
|
|
def run_app(): |
|
"""Запускает Flask-приложение""" |
|
print("🚀 Запуск AI Assistant...") |
|
print("⚠️ Первый запуск может занять некоторое время, пока загружается модель.") |
|
try: |
|
from app import app |
|
app.run(debug=True, port=5000) |
|
except Exception as e: |
|
print(f"❌ Ошибка при запуске приложения: {e}") |
|
|
|
def main(): |
|
print("="*50) |
|
print("🤖 AI Assistant - Установка и запуск") |
|
print("="*50) |
|
|
|
|
|
if not check_dependencies(): |
|
print("\nНеобходимо установить зависимости.") |
|
choice = input("Установить зависимости сейчас? (y/n): ").lower() |
|
if choice == 'y': |
|
if not install_dependencies(): |
|
print("❌ Не удалось установить зависимости. Пожалуйста, установите их вручную.") |
|
return |
|
else: |
|
print("⚠️ Для работы приложения необходимо установить зависимости.") |
|
print("Выполните: pip install -r requirements.txt") |
|
return |
|
|
|
|
|
run_app() |
|
|
|
if __name__ == "__main__": |
|
main() |