Can';由于(似乎)循环依赖性,无法通过Pip安装AWS客户端
我试图在Linux(Mint)上安装AWS CLI工具,但遇到了一个问题。当我跑步时:Can';由于(似乎)循环依赖性,无法通过Pip安装AWS客户端,pip,aws-cli,Pip,Aws Cli,我试图在Linux(Mint)上安装AWS CLI工具,但遇到了一个问题。当我跑步时: pip3 install aws-sam-cli 我得到: 错误:awscli 1.18.216的要求botocore==1.19.56,但您的botocore 1.17.63不兼容 好的,应该足够简单来修复;我就跑: pip3 install botocore==1.19.56 。。。除此之外,我得到: 错误:boto3 1.14.63要求botocore=1.17.63,但您将需要botocore 1
pip3 install aws-sam-cli
我得到:
错误:awscli 1.18.216的要求botocore==1.19.56,但您的botocore 1.17.63不兼容
好的,应该足够简单来修复;我就跑:
pip3 install botocore==1.19.56
。。。除此之外,我得到:
错误:boto3 1.14.63要求botocore=1.17.63,但您将需要botocore 1.19.56,这是不兼容的
好的,很好,让我们安装正确的botocore
:
pip3 install botocore==1.18.0
。。。现在我已经破坏了bot3
(更不用说awscli
包了):
错误:boto3 1.14.63要求botocore=1.17.63,但您将需要botocore 1.18.0,这是不兼容的
错误:awscli 1.18.216要求botocore==1.19.56,但您将需要botocore 1.18.0,这是不兼容的
如果我尝试稍微低一点(但仍然可以接受?botocore
1.17.63,它将修复boto3
。。。但是AWS仍然被打破了:
pip3 install botocore==1.17.63
错误:awscli 1.18.216的要求botocore==1.19.56,但您的botocore 1.17.63不兼容
当然,如果我试图修复botocore
,我们又回到了破坏boto3
:
pip3 install botocore==1.19.56
错误:boto3 1.14.63要求botocore=1.17.63,但您将需要botocore 1.19.56,这是不兼容的
亚马逊似乎有一套不可能满足的依赖关系
但我知道这是不可能的,所以有人能解释我不理解什么吗?我已经多年没有使用过
pip
,所以请对我放轻松。您之所以会遇到这些循环依赖关系,是因为您尝试安装的aws sam cli
软件包是最新版本,而您系统上已经安装的bot3
软件包相对比较旧
现在来看看为什么这些包的依赖项是硬绑定的,这是为了确保在依赖项更新时包的特定版本不会中断。因此,AWS冠军已经充分测试并验证了boto3 1.14.63要求botocore=1.17.63
,awscli 1.18.216要求botocore=1.19.56
不过,如果您仔细查看当前已安装和正在尝试安装的软件包:
我要给出的另一条建议是将您的需求绑定到一个特定的版本,以确保您不会在生产中遇到意外,因为可能会有包更新,这可能会再次破坏您的依赖关系或使代码无法按预期工作。不过,这仅适用于使用CI/CD型号并推出产品的新版本的情况。您应该添加
pip3
和python3
的版本。谢谢:PIP20.0.2 from/usr/lib/python3/dist packages/pip(python3.8)
pip3 install boto3==1.16.62 aws-sam-cli==1.15.0
pip3 install aws-sam-cli==1.3.0