Skip to content

flake8-black, pipenv, black dependency hell #18

@tevansuk

Description

@tevansuk

Some slight problems with the 0.1.1 release when using with pipenv. Because black does not yet have a "stable" release (unbelievably, its been coming "in a few weeks" for about 18 months now!), every single release of black must be installed with --pre flag with pipenv, unless an exact version match is specified.

However, with the 0.1.1 release of flake8-black, we've got two specifiers for black specified - "==19.3b0" from the project, and ">=19.3b0" from flake8-black. This makes pipenv look for the latest released version of black to install... except there is no latest release that is not a pre-release!

This is then double complicated by pipenv. There is no "--pre" flag for pipenv that applies just to a single package, so now in order to get a lock, we must allow all pre-release packages to be considered by pipenv. This is not ideal!

[pipenv.exceptions.ResolutionFailure]:       pipenv.exceptions.ResolutionFailure: ERROR: ERROR: Could not find a version that matches black==19.3b0,>=19.3b0
[pipenv.exceptions.ResolutionFailure]:       Skipped pre-versions: 18.3a0, 18.3a0, 18.3a0, 18.3a0, 18.3a1, 18.3a1, 18.3a1, 18.3a1, 18.3a2, 18.3a2, 18.3a2, 18.3a2, 18.3a3, 18.3a3, 18.3a3, 18.3a3, 18.3a4, 18.3a4, 18.3a4, 18.3a4, 18.4a0, 18.4a0, 18.4a0, 18.4a0, 18.4a1, 18.4a1, 18.4a1, 18.4a1, 18.4a2, 18.4a2, 18.4a2, 18.4a2, 18.4a3, 18.4a3, 18.4a3, 18.4a3, 18.4a4, 18.4a4, 18.4a4, 18.4a4, 18.5b0, 18.5b0, 18.5b0, 18.5b0, 18.5b1, 18.5b1, 18.5b1, 18.5b1, 18.6b0, 18.6b0, 18.6b0, 18.6b0, 18.6b1, 18.6b1, 18.6b1, 18.6b1, 18.6b2, 18.6b2, 18.6b2, 18.6b2, 18.6b3, 18.6b3, 18.6b3, 18.6b3, 18.6b4, 18.6b4, 18.6b4, 18.6b4, 18.9b0, 18.9b0, 18.9b0, 18.9b0, 19.3b0, 19.3b0, 19.3b0, 19.3b0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions