Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential dependency conflicts between awscli-login and botocore #37

Closed
NeolithEra opened this issue Dec 28, 2019 · 2 comments · Fixed by #73
Closed

Potential dependency conflicts between awscli-login and botocore #37

NeolithEra opened this issue Dec 28, 2019 · 2 comments · Fixed by #73
Assignees
Labels
good first issue Good for newcomers

Comments

@NeolithEra
Copy link

NeolithEra commented Dec 28, 2019

Hi, as shown in the following full dependency graph of awscli-login, awscli-login requires botocore * , while the installed version of boto3(1.10.23) requires botocore >=1.13.23,<1.14.0.

According to Pip's “first found wins” installation strategy, botocore 1.13.23 is the actually installed version.

Although the first found package version botocore 1.13.23 just satisfies the later dependency constraint (botocore >=1.13.23,<1.14.0), it will lead to a build failure once developers release a newer version of botocore.

Dependency tree--------

awscli-login - 0.1.0a6
| +- awscli(install version:1.16.287 version range:*)
| +- boto3(install version:1.10.23 version range:*)
| | +- botocore(install version:1.13.23 version range:>=1.13.23,<1.14.0)
| | | +- docutils(install version:0.15.2 version range:>=0.10,<0.16)
| | | +- jmespath(install version:0.9.4 version range:<1.0.0,>=0.7.1)
| | +- jmespath(install version:0.9.4 version range:<1.0.0,>=0.7.1)
| | +- s3transfer(install version:0.2.1 version range:>=0.2.0,<0.3.0)
| | | +- botocore(install version:1.13.23 version range:<2.0.0,>=1.12.36)
| | | | +- docutils(install version:0.15.2 version range:>=0.10,<0.16)
| | | | +- jmespath(install version:0.9.4 version range:<1.0.0,>=0.7.1)
| +- botocore(install version:1.13.23 version range:*)
| | +- docutils(install version:0.15.2 version range:>=0.10,<0.16)
| | +- jmespath(install version:0.9.4 version range:<1.0.0,>=0.7.1)
| +- daemoniker(install version:0.2.3 version range:*)
| +- keyring(install version:19.2.0 version range:*)
| +- lxml(install version:4.4.1 version range:*)
| | +- cython(install version:0.29.14 version range:>=0.29.7)
| +- psutil(install version:5.6.7 version range:*)
| +- requests(install version:2.22.0 version range:*)
| | +- certifi(install version:2019.9.11 version range:>=2017.4.17)
| | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | +- idna(install version:2.8 version range:>=2.5,<2.9)
| | +- urllib3(install version:1.25.7 version range:<1.26,>=1.21.1) 

Thanks for your attention.
Best,
Neolith

@NeolithEra
Copy link
Author

Suggested Solution

  1. Fix your direct dependencies to be botocore <1.14.0.
  2. Ask your upstream project boto3 to lose the version range of botocore to be >=1.13.23, and s3transfer to lose the version range of botocore to be >=1.12.36.

@ddriddle Which solution do you prefer, 1 or 2?
Please let me know your choice. May I pull a request to solve this issue?

@ddriddle ddriddle added the good first issue Good for newcomers label Feb 11, 2021
@ddriddle ddriddle self-assigned this Feb 11, 2021
ddriddle added a commit to ddriddle/awscli-login that referenced this issue Feb 11, 2021
Removing boto3 because it is completely unnecessary, and incompatible
with awscliv2 (See link below). botocore is being used instead where
boto3 was used before.

boto/boto3#2571

Fixes techservicesillinois#37
Fixes techservicesillinois#44
@ddriddle
Copy link
Collaborator

@NeolithEra thank you for pointing out this dependency conflict and for your offer to address it with a pull request which are always welcome. I am resolving this issue by dropping the boto3 library entirely (See #73). botocore offers all the functionality needed. Do you agree that this will resolve the issue you reported?

ddriddle added a commit to ddriddle/awscli-login that referenced this issue Feb 16, 2021
Removing boto3 because it is completely unnecessary, and incompatible
with awscliv2 (See link below). botocore is being used instead where
boto3 was used before.

boto/boto3#2571

Fixes techservicesillinois#37
Fixes techservicesillinois#44
ddriddle added a commit to ddriddle/awscli-login that referenced this issue Feb 16, 2021
Removing boto3 because it is completely unnecessary, and incompatible
with awscliv2 (See link below). botocore is being used instead where
boto3 was used before.

boto/boto3#2571

Fixes techservicesillinois#37
Fixes techservicesillinois#44
ddriddle added a commit to ddriddle/awscli-login that referenced this issue Feb 16, 2021
Removing boto3 because it is completely unnecessary, and incompatible
with awscliv2 (See link below). botocore is being used instead where
boto3 was used before.

boto/boto3#2571

Fixes techservicesillinois#37
Fixes techservicesillinois#44
ddriddle added a commit to ddriddle/awscli-login that referenced this issue Mar 23, 2021
Removing boto3 because it is completely unnecessary, and incompatible
with awscliv2 (See link below). botocore is being used instead where
boto3 was used before.

boto/boto3#2571

Fixes techservicesillinois#37
Fixes techservicesillinois#44
ddriddle added a commit that referenced this issue Mar 23, 2021
Removing boto3 because it is completely unnecessary, and incompatible
with awscliv2 (See link below). botocore is being used instead where
boto3 was used before.

boto/boto3#2571

Fixes #37
Fixes #44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants