Freeze to django-mptt version to fix set+ tuple error #86
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for finding this, @mustyoshi! I think we'll need to expand the supported requirements a bit, but otherwise we can get this in and released ASAP.
setup.py
Outdated
@@ -8,8 +8,8 @@ | |||
include_package_data=True, | |||
install_requires=[ | |||
'cached_property', | |||
'django>=1.8,<1.12', | |||
'django-mptt', | |||
'django==1.11', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect you didn't intend to pin to exactly 1.11 (which excludes 1.11.1, 1.11.2, etc.). As a best effort, we should also try to support 1.8 through 1.10 until we hit an incompatibility. I think that means we can revert this line?
setup.py
Outdated
'django>=1.8,<1.12', | ||
'django-mptt', | ||
'django==1.11', | ||
'django-mptt==0.8.7', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds like 0.9 caused the issue, so we'll want to exclude that. For maximum compatibility with downstream projects, though, we'll want to expand this version span. Does django-mptt~=0.8.3
work? That's should match 0.8.3 (the version available when we added this dependency) through 0.8.7.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll test and make another commit tonight.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So on my ubuntu 16.04 machine, running Python 3.6
This is just building the docker image
docker build . -t eregs/core
django==1.9 works on mptt>=0.8.3,<=0.8.7
django==1.10 works on mptt>=0.8.6,<=0.8.7
django==1.11 works on mptt>=0.8.6,<=0.8.7
I'm not too familiar with Python setuptools, is there a way to make conditional library versioning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Womp womp. Thanks so much for testing all of that! Looks like we'll get the max coverage with
django >= 1.10, <1.12
django-mptt ~= 0.8.6
I've opened #87 for removing mptt going forward.
Thanks so much @mustyoshi ! |
@mustyoshi , At FEC, we forked the eregs/regluations-core repo and tried to update python packages like Django and django-mptt.
We are stumped! Since you worked on this before, do you know what the nature of the error is and can you think of any possible workarounds? |
@johnnyporkchops, unfortunately I am not very familiar with the django/django-mptt ecosystem, I had only been messing around with this repo. cmc was in the process of depreciating the use of django-mptt, so you may have to just live with the outdated version. The good news is that django@2.2.11 does work with django-mptt@0.8.6 Sorry I couldn't be more helpful. |
It took me spinning up two fresh machines to narrow this down.