Skip to content

Can not install azure-identity with poetry with --allow-prereleases #12625

@NZSmartie

Description

@NZSmartie
  • Package Name: azure-identity
  • Package Version: 1.4.0b6
  • Operating System: Ubuntu 20.04
  • Python Version: 3.8

Describe the bug
When using Poetry to manage a python project. Installing the current pre-release version of azure-identity fails with a max recursion depth error.

To Reproduce
Steps to reproduce the behavior:

  1. Install poetry
    pip install poetry
  2. Set up a new poetry project in an empty directory
    mkdir azure-identity-test
    poetry init -n # -n specifies non-interactive and uses defaults
  3. Install the prerelease of azure-identity
    poetry add azure-identity --allow-prereleases
  4. Observe the following output
    Creating virtualenv azure-identity-test-ZMyS48q3-py3.8 in /home/nzsmartie/.cache/pypoetry/virtualenvs
    Using version ^1.4.0-beta.6 for azure-identity
    
    Updating dependencies
    Resolving dependencies... (8.4s)
    
    [RecursionError]
    maximum recursion depth exceeded while calling a Python object
    

Expected behavior
The package would install without issues along with its dependencies.

Additional context
Poetry has difficulty with multiple same name dependencies with different version requirements: python-poetry/poetry#1238

When enabling verbosity as the package is installed. there's an almost never ending loop of the following issue being produced.

Different requirements found for portalocker (>=1.0,<2.0) and portalocker (>=1.6,<2.0).

as produced by:

poetry add azure-identity --allow-prereleases -vvv

Metadata

Metadata

Assignees

No one assigned

    Labels

    customer-reportedIssues that are reported by GitHub users external to the Azure organization.questionThe issue doesn't require a change to the product in order to be resolved. Most issues start as that

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions