video_translation/install_with_tsinghua_mirror.py
2025-08-20 11:39:34 +08:00

119 lines
3.8 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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()