Azure / azure-cli

Azure Command-Line Interface
MIT License
4.03k stars 3k forks source link

setup.py dependencies are outdated #27435

Closed rasebo closed 1 year ago

rasebo commented 1 year ago

Describe the bug

The dependencies in src/azure-cli/setup.py are outdated and not consistent with those defined everywhere else.

The python package that is built (and gets published on pypi.org) as a result is advertising the wrong requirements, generating the same error that was supposed to be fixed with https://github.com/Azure/azure-cli/pull/20041 (and possibly other issues as well).

Related command

n/a

Errors

error in PyGithub setup command: use_2to3 is invalid.

Issue script & Debug output

n/a

Expected behavior

DEPENDENCIES should contain the same dependencies as the requirements.py3.*.txt files from the same directory.

Environment Summary

n/a

Additional context

No response

yonzhan commented 1 year ago

Thank you for opening this issue, we will look into it.

bebound commented 1 year ago

May I know the python and pip version you are using? PyGithub~=1.38 means PyGithub>=1.38 and PyGithub==1.*, running pip install PyGithub~=1.38 should install PyGithub-1.59.1 without any error.

Ref: https://peps.python.org/pep-0440/#compatible-release

rasebo commented 1 year ago

Right, sorry for that. You are right, it shouldn't be an issue.

I noticed that we did recently change the Docker image we're using from python:3.10.4-slim to python:3.11.4-slim. The current one is running Python 3.11.4 and pip 23.1.2.

While unexpected, looks like Python 3.11 doesn't seem to be supported yet by azure-cli: https://github.com/Azure/azure-cli/issues/24494. The classifiers in setup.py do explicitly state that.

rasebo commented 1 year ago

Closing, discovered it was caused by the pip resolver going all the way down to 1.38 due to other dependencies inherited by packages in our requirements.txt. Adding PyGithub~=1.44.1 to the file stops it from going all the way down to the incompatible version.