nephila / djangocms-installer

Console wizard to bootstrap django CMS projects
https://djangocms-installer.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
177 stars 78 forks source link

Specify package version requirement using == instead of >= #384

Open fp4code opened 3 years ago

fp4code commented 3 years ago

Description

Djangocms-installer djangocms command should install only working configurations with package versions requirement specified using == instead of >=. Today, a djangocms mysite site is buggy due to https://github.com/django-cms/django-cms/issues/6980

Steps to reproduce

mkdir test
cd test
python3 -m venv env
. env/bin/activate
pip install --upgrade pip
pip install djangocms-installer
djangocms mysite
cd mysite
./manage.py runserver
Internal Server Error: ... treebeard.exceptions.NodeAlreadySaved: Attempted to add a tree node that is already in the database

Versions

Expected behaviour

Actual behaviour

Additional information

The problem is more general, djangocms-installer should install only working configurations, with == specifications written in djangocms_installer/config/data.py file instead of >= specifications.

Here django-cms==3.8.0 was working with django-treebeard==4.4, but is no more working since django-treebeard is upgraded to 4.5.1.

yakky commented 2 years ago

Using strict equality would generate a lot of maintenance burden on the package.

In cases like this it's much easier to restrict dependencies whenever an issue arise.

For treebeard it's actually sensible to restrict the version brackets and being more conservative.

I will open a PR for this