Loading

pip 一键安装依赖的脚本requirement.txt

如果安装了pipreqs的话直接在当前目录输入pipreqs就可以了

可以一键生成项目的依赖

import os
import subprocess
import sys

def auto_install_dependencies():
    """自动安装项目依赖的智能脚本
    
    功能:
    1. 自动升级pip到最新版本
    2. 分析项目依赖并生成requirements.txt
    3. 调整特定库的版本限制
    4. 使用阿里云镜像快速安装依赖
    """
    
    # 1. 确保使用最新版pip
    print("\n🔧 正在升级pip工具...")
    subprocess.run([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
    
    # 2. 智能分析项目依赖
    project_path = os.getcwd()
    requirements_path = os.path.join(project_path, "requirements.txt")
    
    print("\n🔍 正在扫描项目依赖...")
    if os.path.exists(requirements_path):
        print("✅ requirements.txt已存在,跳过生成步骤")
    else:
        subprocess.run([
            sys.executable, 
            "-m", 
            "pipreqs.pipreqs", 
            project_path, 
            "--force", 
            "--encoding=utf-8"
        ])
    
    # 3. 优化依赖版本配置
    if os.path.exists(requirements_path):
        print("\n⚙️ 正在优化依赖配置...")
        with open(requirements_path, "r+", encoding="utf-8") as f:
            content = f.read()
            # 放宽特定库的版本限制
            content = content.replace("albumentations==2.0.8", "albumentations>=1.4.18")
            f.seek(0)
            f.write(content)
            f.truncate()
        
        # 4. 使用国内镜像快速安装
        print("\n🚀 正在加速安装依赖...")
        subprocess.run([
            sys.executable, 
            "-m", "pip", "install",
            "-r", requirements_path,
            "-i", "https://mirrors.aliyun.com/pypi/simple/"
        ])
        print("\n🎉 所有依赖安装完成!")
    else:
        print("\n⚠️ 未检测到需要安装的依赖项")

if __name__ == "__main__":
    auto_install_dependencies()
posted @ 2025-07-11 15:47  hllqk  阅读(117)  评论(2)    收藏  举报