Closed kavdev closed 8 years ago
Thanks for this - I was unaware of django-storages-redux. I just tried it, and it doesn't appear to work well with Django 1.4 (which is still a supported version), so I'm not too sure about the switch...
There is also python 3 code for django-storages itself in bitbucket (https://bitbucket.org/david/django-storages/commits/210f8e3666e3c2336712cad0e4456d3813f2fab9), but if it never gets a release I guess that isn't very useful.
How about if we were to remove 'django-storages' and 'django-storages-redux' from setup.py, and document / leave it to the end-user to decide which to install?
That'd be fine with me, as long as there's some kind of import warning that lets the user know one of the supported packages must be installed.
I'm stretched pretty thin at the moment; I'll let you know when I can put some time into this.
Guys, isn't it possible to check python version in setup.py and install suitable version of django-storages?
Yes, but it's more about checking the django version. django-storages-redux works in python 2 as well, but apparently doesn't play nice with django 1.4.
There's an easy way to check for django installation, but no guarantee that it will be installed before setup.py runs.
At first it's weird and quite useless to install django-storages without Django. At second in this case we can just install the latest version of Django and if it's not suitable for project - user can always reinstall version which he needs with pip. And at the end - we can always document this thing.
I meant that importing Django and checking the version in the setup.py file will cause an import error if an attempt to install this package is made before Django has been installed.
it's weird and quite useless to install django-storages without Django
True, but that's why there's a dependency "instruction" in the setup.py file.
in this case we can just install the latest version of Django
How? Dependencies are statically collected before installation (correct me if I'm wrong).
Seems pip doesn't have this kind of futures, so I guess the best way is do not install dependencies but describe them in docs.
Unfortunately, yes. @mattaustin if you have a list of bugs for 1.4, I can see about patching django-storages-redux instead.
The other option is to switch to the new LTS (1.8) and drop official support for anything older (or just 1.4, either way).
I think I'd be inclined to just remove 'django-storages' from setup.py, and document the requirement - I'd imagine that most people would already have either django-storages or django-storages-redux configured for their project first anyway.
From our perspective, it shouldn't really matter if the user chooses to use either django-storages or django-storages-redux - at this point in time they both have the same interface/api, so django-storages-s3upload probably doesn't need to make a decision - maybe we can just document the options available?
On a side-note, I've begun some initial work prepping a 'test-suite' using tox (5ebc74388d1334186f0fe01613fd07186feef909) - we can add environments which test both against django-storages and django-storages-redux if needed.
'django-storages-redux' has now become 'django-storages', so the project can continue requiring 'django-storages'.
django-storages is outdated and incompatible with Python 3. See https://github.com/jschneier/django-storages for more info.