You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python脚本首次运行时自动安装所需依赖包?

更简洁的Python依赖自动安装方案

比起在代码里逐行写pip install,有两种更简洁易维护的方案:

方案一:用requirements.txt批量管理依赖

  1. 先在项目根目录创建requirements.txt文件,把所有依赖按格式列进去(可指定版本号):
requests>=2.28.0
numpy>=1.23.0
pandas>=1.5.0
  1. 在代码开头添加自动安装逻辑,读取文件批量安装:
import subprocess
import sys

def install_from_requirements():
    req_path = "requirements.txt"
    try:
        subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", req_path])
        print("依赖安装完成")
    except subprocess.CalledProcessError:
        print("依赖安装失败,请检查网络或requirements.txt内容")

# 先尝试导入核心依赖,缺失则触发安装
try:
    import requests
    import numpy
    import pandas
except ImportError:
    install_from_requirements()
    # 安装完成后重新导入
    import requests
    import numpy
    import pandas

# 你的业务代码写在这里

方案二:直接检查缺失依赖并安装

如果不想单独维护requirements文件,可以直接在代码里定义依赖列表,精准安装缺失的包:

import pkg_resources
import subprocess
import sys

# 定义需要的依赖(支持版本约束)
required_deps = {"requests>=2.28.0", "numpy>=1.23.0", "pandas>=1.5.0"}
# 获取当前已安装的依赖
installed_deps = {pkg.key for pkg in pkg_resources.working_set}
# 计算缺失的依赖
missing_deps = required_deps - installed_deps

if missing_deps:
    # 批量安装缺失的依赖
    subprocess.check_call([sys.executable, "-m", "pip", "install", *missing_deps])
    print(f"已补全缺失依赖:{', '.join(missing_deps)}")

# 主代码逻辑

这两种方案的优势:

  • 代码更简洁,避免重复写pip install语句
  • 依赖管理更清晰,修改依赖不需要改动主代码逻辑
  • 可以避免重复安装已存在的依赖,提升运行效率

内容的提问来源于stack exchange,提问作者Mahmoud Hassan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:12:34