boto3、aiobotocore、awscli 和 botocore 的版本不兼容;无法解决

jss*_*367 8 python amazon-web-services aws-cli botocore boto3

如果我尝试安装最新版本的 aiobotocore,pip3 install aiobotocore==0.10.3它会说我的 botocore 版本不兼容,我需要旧版本。

ERROR: aiobotocore 0.10.3 has requirement botocore<1.12.190,>=1.12.189, but you'll have botocore 1.12.224 which is incompatible.
Run Code Online (Sandbox Code Playgroud)

因此,如果我将 botocore 的版本更改为 1.12.189,它就会崩溃awscli并且boto3

ERROR: boto3 1.9.224 has requirement botocore<1.13.0,>=1.12.224, but you'll have botocore 1.12.189 which is incompatible.
ERROR: awscli 1.16.234 has requirement botocore==1.12.224, but you'll have botocore 1.12.189 which is incompatible.
Run Code Online (Sandbox Code Playgroud)

似乎没有任何版本的软件包可以与所有这些软件包一起使用。有人可以告诉我哪些版本都兼容吗?pip 有没有办法自动确定这一点?

Rya*_*der 8

尝试aioboto3而不是boto3

添加requirements.in

aioboto3
aiobotocore
Run Code Online (Sandbox Code Playgroud)

赶紧跑

 python3.8 -m pip install pip --upgrade
 python3.8 -m pip install pip-tools
 python3.8 -m piptools compile requirements.in
Run Code Online (Sandbox Code Playgroud)

你会得到类似的东西

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile requirements.in
#
aioboto3==8.0.5           # via -r requirements.in
aiobotocore==1.0.4        # via -r requirements.in, aioboto3
aiohttp==3.6.2            # via aiobotocore
aioitertools==0.7.0       # via aiobotocore
async-timeout==3.0.1      # via aiohttp
attrs==19.3.0             # via aiohttp
boto3==1.12.32            # via aiobotocore
botocore==1.15.32         # via aiobotocore, boto3, s3transfer
chardet==3.0.4            # via aiohttp
docutils==0.15.2          # via botocore
idna==2.10                # via yarl
jmespath==0.10.0          # via boto3, botocore
multidict==4.7.6          # via aiohttp, yarl
python-dateutil==2.8.1    # via botocore
s3transfer==0.3.3         # via boto3
six==1.15.0               # via python-dateutil
typing-extensions==3.7.4.2  # via aioitertools
urllib3==1.25.10          # via botocore
wrapt==1.12.1             # via aiobotocore
yarl==1.5.1               # via aiohttp
Run Code Online (Sandbox Code Playgroud)