video_translation/install_with_tsinghua_mirror.py

119 lines
3.8 KiB
Python
Raw Permalink Normal View History

2025-08-20 11:39:34 +08:00
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
VideoLingo 快速安装脚本 - 使用清华大学镜像源
解决PyTorch等大型包下载缓慢的问题
"""
import subprocess
import sys
import os
from rich.console import Console
from rich.panel import Panel
from rich.progress import track
import time
console = Console()
def run_command(cmd, description=""):
"""执行命令并显示进度"""
console.print(f"🚀 {description}", style="bold green")
console.print(f"执行命令: {cmd}", style="dim")
try:
result = subprocess.run(cmd, shell=True, check=True,
capture_output=True, text=True)
console.print("✅ 完成", style="bold green")
return True
except subprocess.CalledProcessError as e:
console.print(f"❌ 错误: {e}", style="bold red")
console.print(f"输出: {e.stdout}", style="dim")
console.print(f"错误: {e.stderr}", style="dim")
return False
def main():
console.print(Panel.fit("🎯 VideoLingo 快速安装 - 清华镜像版", style="bold blue"))
# 1. 首先配置pip使用清华镜像
console.print("📦 配置pip使用清华大学镜像源...")
pip_config_cmd = """
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF
"""
run_command(pip_config_cmd, "配置pip镜像源")
# 2. 先停止当前的pytorch下载如果正在进行
console.print("⏹️ 准备重新安装PyTorch...")
# 3. 安装PyTorch及相关组件使用清华镜像
pytorch_packages = [
"torch==2.0.0+cu118",
"torchvision==0.15.0+cu118",
"torchaudio==2.0.0+cu118"
]
pytorch_cmd = f"""pip install {' '.join(pytorch_packages)} \\
-i https://pypi.tuna.tsinghua.edu.cn/simple/ \\
--extra-index-url https://download.pytorch.org/whl/cu118 \\
--timeout 300"""
if not run_command(pytorch_cmd, "安装PyTorch CUDA版本"):
console.print("⚠️ PyTorch安装失败尝试CPU版本...", style="yellow")
cpu_cmd = "pip install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple/"
run_command(cpu_cmd, "安装PyTorch CPU版本")
# 4. 安装其他可能需要的依赖
other_packages = [
"transformers",
"accelerate",
"datasets",
"tokenizers",
"huggingface-hub",
"safetensors",
"numpy",
"opencv-python",
"pillow",
"matplotlib",
"scikit-learn",
"pandas",
"tqdm",
"psutil",
"ffmpeg-python",
"whisper-openai",
"openai",
"anthropic"
]
console.print("📦 安装其他常用AI/ML依赖包...")
for package in track(other_packages, description="安装依赖包..."):
cmd = f"pip install {package} -i https://pypi.tuna.tsinghua.edu.cn/simple/ --timeout 180"
subprocess.run(cmd, shell=True, capture_output=True)
time.sleep(0.1) # 避免过快请求
# 5. 验证安装
console.print("🔍 验证PyTorch安装...")
verify_cmd = """python -c "
import torch
print(f'PyTorch版本: {torch.__version__}')
print(f'CUDA可用: {torch.cuda.is_available()}')
if torch.cuda.is_available():
print(f'CUDA版本: {torch.version.cuda}')
print(f'GPU数量: {torch.cuda.device_count()}')
print(f'当前GPU: {torch.cuda.get_device_name(0)}')
"
"""
run_command(verify_cmd, "验证PyTorch安装")
console.print(Panel.fit("🎉 安装完成现在可以继续运行VideoLingo了", style="bold green"))
console.print("💡 提示: 如果还有其他包需要安装,它们将自动使用清华镜像源", style="dim")
if __name__ == "__main__":
main()