boto / botocore

The low-level, core functionality of boto3 and the AWS CLI.
Apache License 2.0
1.44k stars 1.06k forks source link

botocore 1.34.63 requires outdated urllib3 with python 3.10 but python 3.11 #3143

Closed annieDang closed 3 months ago

annieDang commented 3 months ago

Describe the bug

From #3138 and #3141, even I use Python 3.10+ Work with python 3.10 but cannot work with python 3.11

Expected Behavior

Version botocore 1.34.63 should be compatible with urllib3 2.0+

Current Behavior

botocore 1.34.63 depends on urllib3<1.27 and >=1.25.4; python_version < "3.10"

Reproduction Steps

see above

Possible Solution

No response

Additional Information/Context

No response

SDK version used

Python 3.11; boto3 v1.34.63

Environment details (OS name and version, etc.)

Macos m1

nateprewitt commented 3 months ago

Hi @annieDang,

botocore has been usable with urllib3 2.x since October with https://github.com/boto/botocore/pull/3034. We're confident the majority of users on those platforms have successfully upgraded and been using urllib3 2.0. The most recent change you referenced was to add support beyond 2.0.7 now that a breaking change has been fixed upstream.

As noted in the other issues, Python 3.9 is not compatible with urllib3 on all platforms we support. We don't have intentions to change that restriction as detailed in https://github.com/boto/botocore/issues/3138#issuecomment-1986927748.

Looking at the error you provided, it seems you are trying to install this on a version of Python older than 3.10 (presumably 3.9).

botocore 1.34.63 depends on urllib3<1.27 and >=1.25.4; python_version < "3.10"

You may want to double check any lock files and that you're using the expected version of Python when installing. I installed a fresh copy of Python 3.11.4 on a macOS m1 and this was the result I'm seeing:

(.venv) natepr@ OpenSource % python -m pip install boto3
Collecting boto3
  Downloading boto3-1.34.63-py3-none-any.whl (139 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 139.3/139.3 kB 5.8 MB/s eta 0:00:00
Collecting botocore<1.35.0,>=1.34.63 (from boto3)
  Downloading botocore-1.34.63-py3-none-any.whl (12.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.0/12.0 MB 65.6 MB/s eta 0:00:00
Collecting jmespath<2.0.0,>=0.7.1 (from boto3)
  Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)
Collecting s3transfer<0.11.0,>=0.10.0 (from boto3)
  Downloading s3transfer-0.10.1-py3-none-any.whl (82 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.2/82.2 kB 7.8 MB/s eta 0:00:00
Collecting python-dateutil<3.0.0,>=2.1 (from botocore<1.35.0,>=1.34.63->boto3)
  Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 26.6 MB/s eta 0:00:00
Collecting urllib3!=2.2.0,<3,>=1.25.4 (from botocore<1.35.0,>=1.34.63->boto3)
  Downloading urllib3-2.2.1-py3-none-any.whl (121 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.1/121.1 kB 15.4 MB/s eta 0:00:00
Collecting six>=1.5 (from python-dateutil<3.0.0,>=2.1->botocore<1.35.0,>=1.34.63->boto3)
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Installing collected packages: urllib3, six, jmespath, python-dateutil, botocore, s3transfer, boto3
Successfully installed boto3-1.34.63 botocore-1.34.63 jmespath-1.0.1 python-dateutil-2.9.0.post0 s3transfer-0.10.1 six-1.16.0 urllib3-2.2.1

We can see it successfully resolves boto3/botocore 1.34.63 and urllib3 2.2.1. Please let us know if you have other questions after reviewing your installation setup. Thanks!

github-actions[bot] commented 3 months ago

This issue is now closed. Comments on closed issues are hard for our team to see. If you need more assistance, please open a new issue that references this one.