Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Potential dependency conflicts between quickstartup and django #40

Description

@NeolithEra

Hi, as shown in the following full dependency graph of quickstartup, quickstartup requires django >=3.0,<3.1, quickstartup requires django-widget-tweaks >=1.4,<1.5 (django-widget-tweaks 1.4.8 will be installed, i.e., the newest version satisfying the version constraint), and directed dependency django-widget-tweaks 1.4.8 transitively introduces django >=1.11.

Obviously, there are multiple version constraints set for django in this project. However, according to pip's “first found wins” installation strategy, django 3.0.6 (i.e., the newest version satisfying constraint >=3.0,<3.1) is the actually installed version.

Although the first found package version django 3.0.6 just satisfies the later dependency constraint (django >=3.0,<3.1), such installed version is very close to the upper bound of the version constraint of django specified by django-widget-tweaks 1.4.8.

Once django-widget-tweaks upgrades,its newest version will be installed, as quickstartup does not specify the upper bound of version constraint for django-widget-tweaks. Therefore, it will easily cause a dependency conflict (build failure), if the upgraded django-widget-tweaks version introduces a higher version of django, violating its another version constraint >=3.0,<3.1.

According to the release history of django-widget-tweaks, it habitually upgrates Django in its recent releases. For instance, django-widget-tweaks 1.4.2 upgrated Django’s constraint from >=1.2 to >=1.8, and django-widget-tweaks 1.4.6 upgrated Django’s constraint from >=1.8 to >=1.11.

As such, it is a warm warning of a potential dependency conflict issue for quickstartup.

Dependency tree

quickstartup - 0.16.2
| +- django(install version:3.0.6 version range:>=3.0,<3.1)
| +- django-ipware(install version:2.1.0 version range:>=2.1,<2.2)
| +- django-model-utils(install version:4.0.0 version range:>=4.0,<4.1)
| | +- django(install version:3.0.6 version range:>=2.0.1)
| +- django-widget-tweaks(install version:1.4.8 version range:>=1.4,<1.5)
| | +- django(install version:3.0.6 version range:>=1.11)
| +- djmail(install version:2.0.0 version range:>=2.0,<2.1)

Thanks for your help.
Best,
Neolith

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