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

如何离线使用pip检查Python项目的依赖是否已满足?

离线检查pyproject.toml中test可选依赖是否已安装的方案

针对你的需求——离线环境下不发起网络请求,仅检查pyproject.toml中test可选依赖是否全部安装,以下是两种可行方案:

方案1:利用pip的模拟安装参数

直接通过pip的--dry-run(模拟安装)和--no-index(禁用远程索引)参数,结合项目的test特性依赖,通过命令返回值判断结果:

# 模拟安装test特性依赖,离线模式下仅检查本地是否已满足
python3 -m pip install --dry-run --no-index .[test]

# 根据返回值执行后续逻辑
if [ $? -eq 0 ]; then
    python3 -m unittest
else
    echo "Test依赖未安装完全,终止测试"
fi
  • --dry-run:仅模拟安装流程,不会实际修改本地环境
  • --no-index:禁止pip访问远程PyPI索引,确保完全离线
  • 若所有依赖已满足,命令返回0;若存在缺失或版本不兼容,返回非0

方案2:编写Python脚本直接检查依赖

如果需要更精细的错误提示,或避免pip命令的额外输出,可以写一个简单的Python脚本,利用pkg_resources直接检查依赖:

import sys
from pkg_resources import require, DistributionNotFound, VersionConflict

try:
    # 检查项目test特性的所有依赖(包括传递依赖)
    require("lorem[test]")
    sys.exit(0)
except (DistributionNotFound, VersionConflict) as e:
    print(f"依赖问题: {e}", file=sys.stderr)
    sys.exit(1)

然后在shell中调用脚本并判断:

python3 check_test_deps.py
if [ $? -eq 0 ]; then
    python3 -m unittest
else
    echo "Test依赖未满足,终止测试"
fi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:08:33