限制安装 setup.py 中定义的依赖项

Limit the installation of dependencies defined in setup.py

如果我查看 aws_cdk.cloudformation_include 的 setup.py,您会看到一大堆依赖项;

  "install_requires": [
        "aws-cdk.alexa-ask==1.85.0",
        "aws-cdk.aws-accessanalyzer==1.85.0",
        "aws-cdk.aws-acmpca==1.85.0",
        "aws-cdk.aws-amazonmq==1.85.0",
        "aws-cdk.aws-amplify==1.85.0",
        "aws-cdk.aws-apigateway==1.85.0",
        "aws-cdk.aws-apigatewayv2==1.85.0",
        "aws-cdk.aws-appconfig==1.85.0",
        "aws-cdk.aws-appflow==1.85.0",
        "aws-cdk.aws-applicationautoscaling==1.85.0",
        "aws-cdk.aws-applicationinsights==1.85.0",
        "aws-cdk.aws-appmesh==1.85.0",
        "aws-cdk.aws-appstream==1.85.0",
        "aws-cdk.aws-appsync==1.85.0",
        "aws-cdk.aws-athena==1.85.0",
        "aws-cdk.aws-auditmanager==1.85.0",
        "aws-cdk.aws-autoscaling==1.85.0",
         ...

这里定义了不同服务的所有 aws-cdk 库,但是如果我只需要 aws-cdk.aws-stepfunctions 怎么办?

有没有办法限制我们要安装的依赖项的数量?或者我们可以对这个项目提出什么建议,让我们只安装我们需要的依赖项?也许我们可以在 setup.py?

中利用 extras_require

例如我们可以做的:

pip install aws-cdk.cloudformation-include[aws-cdk.aws-stepfunctions]

安装必要的依赖项 + stepfunctions 依赖项

我没有想到直接的解决方案。

你最好的选择可能是在没有依赖项的情况下安装:

python -m pip install --no-deps aws_cdk.cloudformation_include

然后安装你需要的依赖。