ch
This commit is contained in:
65
run_streamlit_local.py
Normal file
65
run_streamlit_local.py
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Запуск Streamlit интерфейса локально из изолированного пакета
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
import webbrowser
|
||||
import os
|
||||
|
||||
def main():
|
||||
"""Основная функция"""
|
||||
print("🚀 ЗАПУСК STREAMLIT ИЗ ИЗОЛИРОВАННОГО ПАКЕТА")
|
||||
print("=" * 60)
|
||||
print("Убедитесь, что FastAPI сервер запущен на порту 8000")
|
||||
print("=" * 60)
|
||||
|
||||
# Проверяем, существует ли папка streamlit_app
|
||||
if not os.path.exists("streamlit_app"):
|
||||
print("❌ Папка streamlit_app не найдена")
|
||||
print("Создайте изолированный пакет или используйте docker-compose up -d")
|
||||
return
|
||||
|
||||
# Переходим в папку streamlit_app
|
||||
os.chdir("streamlit_app")
|
||||
|
||||
# Проверяем, установлен ли Streamlit
|
||||
try:
|
||||
import streamlit
|
||||
print(f"✅ Streamlit {streamlit.__version__} установлен")
|
||||
except ImportError:
|
||||
print("❌ Streamlit не установлен")
|
||||
print("Установите: pip install -r requirements.txt")
|
||||
return
|
||||
|
||||
print("\n🚀 Запускаю Streamlit...")
|
||||
print("📍 URL: http://localhost:8501")
|
||||
print("🔗 API: http://localhost:8000")
|
||||
print("🛑 Для остановки нажмите Ctrl+C")
|
||||
|
||||
# Открываем браузер
|
||||
try:
|
||||
webbrowser.open("http://localhost:8501")
|
||||
print("✅ Браузер открыт")
|
||||
except Exception as e:
|
||||
print(f"⚠️ Не удалось открыть браузер: {e}")
|
||||
|
||||
# Запускаем Streamlit с правильными переменными окружения
|
||||
env = os.environ.copy()
|
||||
env["DOCKER_ENV"] = "false" # Локальный запуск
|
||||
env["API_BASE_URL"] = "http://localhost:8000" # Локальный API
|
||||
|
||||
try:
|
||||
subprocess.run([
|
||||
sys.executable, "-m", "streamlit", "run", "app.py",
|
||||
"--server.port", "8501",
|
||||
"--server.address", "localhost",
|
||||
"--server.headless", "false",
|
||||
"--browser.gatherUsageStats", "false"
|
||||
], env=env)
|
||||
except KeyboardInterrupt:
|
||||
print("\n👋 Streamlit остановлен")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user