diff --git a/cli_launcher.py b/cli_launcher.py index 0ab0cdb3..9f61a027 100755 --- a/cli_launcher.py +++ b/cli_launcher.py @@ -206,27 +206,31 @@ def install_dependencies(): console.print("[yellow]πŸ“¦ УстановитС Python 3.12: sudo apt install python3.12 python3.12-venv[/yellow]") sys.exit(1) - user = os.environ.get("SUDO_USER") or subprocess.check_output(["whoami"], text=True).strip() - with Progress( SpinnerColumn(style="green"), TextColumn("[progress.description]{task.description}"), transient=True, ) as progress: - progress.add_task(description="Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния...", total=None) + task_id = progress.add_task(description="Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния...", total=None) try: - if not os.path.exists("venv"): - console.print(f"[cyan]Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ venv ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: {user}[/cyan]") - subprocess.run(f"sudo -u {user} {python312_path} -m venv venv", shell=True, check=True) + if os.path.exists("venv"): + shutil.rmtree("venv") + console.print("[yellow]⚠️ Π£Π΄Π°Π»Ρ‘Π½ старый venv[/yellow]") - progress.add_task(description="Установка зависимостСй...", total=None) + subprocess.run(f"{python312_path} -m venv venv", shell=True, check=True) + + progress.update(task_id, description="Установка зависимостСй...") subprocess.run( - f"sudo -u {user} bash -c 'source venv/bin/activate && pip install -r requirements.txt'", + f"bash -c 'source venv/bin/activate && pip install -r requirements.txt'", shell=True, check=True, ) + + progress.update(task_id, description="βœ… Установка Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°") + except subprocess.CalledProcessError as e: - console.print(f"[red]❌ Ошибка ΠΏΡ€ΠΈ установкС зависимостСй: {e}[/red]") + progress.update(task_id, description="❌ Ошибка ΠΏΡ€ΠΈ установкС") + console.print(f"[red]❌ Ошибка: {e}[/red]") def restart_service(): @@ -412,7 +416,7 @@ def show_update_menu(): def show_menu(): - table = Table(title="Solobot CLI v0.2.7", title_style="bold magenta", header_style="bold blue") + table = Table(title="Solobot CLI v0.2.8", title_style="bold magenta", header_style="bold blue") table.add_column("β„–", justify="center", style="cyan", no_wrap=True) table.add_column("ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ", style="white") table.add_row("1", "Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Π° (systemd)")