Test / setup.py
EuuIia's picture
Upload 6 files
ac23084 verified
raw
history blame
2.24 kB
# setup.py
#
# Copyright (C) August 4, 2025 Carlos Rodrigues dos Santos
#
# Versão 2.0.0 (Clonagem Anônima e Robusta)
# - Usa URLs HTTPS explícitas e anônimas para evitar que o Git tente
# usar credenciais em cache desnecessariamente para repositórios públicos.
import os
import subprocess
import sys
from pathlib import Path
# --- Configuração ---
DEPS_DIR = Path("./deps")
# URLs explícitas e anônimas para os repositórios públicos
REPOS_TO_CLONE = {
"LTX-Video": "https://huggingface.co/spaces/Lightricks/ltx-video-distilled",
"SeedVR_Space": "https://huggingface.co/spaces/ByteDance-Seed/SeedVR2-3B",
"MMAudio": "https://github.com/hkchengrex/MMAudio.git"
}
def run_command(command, cwd=None):
"""Executa um comando no terminal e lida com erros."""
print(f"Executando: {' '.join(command)}")
try:
# Redireciona o stdin para DEVNULL para garantir que o git não tente pedir senha
subprocess.run(
command,
check=True,
cwd=cwd,
stdin=subprocess.DEVNULL,
)
except subprocess.CalledProcessError as e:
print(f"ERRO: O comando falhou com o código de saída {e.returncode}")
# stderr é capturado automaticamente se check=True falhar
print(f"Stderr: {e.stderr}")
sys.exit(1)
except FileNotFoundError:
print(f"ERRO: O comando '{command[0]}' não foi encontrado. Certifique-se de que o git está instalado e no seu PATH.")
sys.exit(1)
def main():
print("--- Iniciando Setup do Ambiente ADUC-SDR ---")
DEPS_DIR.mkdir(exist_ok=True)
for repo_name, repo_url in REPOS_TO_CLONE.items():
repo_path = DEPS_DIR / repo_name
if repo_path.exists():
print(f"Repositório '{repo_name}' já existe. Pulando a clonagem.")
else:
print(f"Clonando '{repo_name}' de {repo_url}...")
run_command(["git", "clone", "--depth", "1", repo_url, str(repo_path)])
print(f"'{repo_name}' clonado com sucesso.")
print("\n--- Setup do Ambiente Concluído com Sucesso! ---")
print("Você agora pode iniciar a aplicação principal (ex: python app.py).")
if __name__ == "__main__":
main()