Django-celery-beat: Django 3.0 removed django.utils.six and made django-celery-beat incompatible

Created on 9 Feb 2020  Â·  16Comments  Â·  Source: celery/django-celery-beat

Summary:

So I'm using Django 3.0 for my project and got import error for django.utils.six and then I found this in the Django 3.0 release notes:

While Python 2 support was removed in Django 2.0, some private APIs weren’t removed from Django so that third party apps could continue using them until the Python 2 end-of-life.

Since we expect apps to drop Python 2 compatibility when adding support for Django 3.0, we’re removing these APIs at this time.
...
django.utils.six - Remove usage of this vendored library or switch to [six](https://pypi.org/project/six/).
  • Celery Version: 4.4
  • Celery-Beat Version: 1.6.0

Exact steps to reproduce the issue:

  1. Install Django 3.0
  2. Install django-celery-beat
  3. Run python manage.py migrate

I hope Django 3.0 support will be added soon.

Most helpful comment

expect a new release before the week end

All 16 comments

I hope Django 3.0 support will be added soon.

It's already been merged to master (#300). It should be released soon™.

@auvipy would be great to have a version supporting DJ 3.0

Waiting for this release

Good work team, just stumbled on this issue myself.

I hope Django 3.0 support will be added soon.

It's already been merged to master (#300). It should be released soon™.

Any updates on this ? A Bump would be awesome !

I resolve this partially like this: pip install django-timezone-field==4.0

@enmanuelmartinez tools to lock dependency (like poetry and pipenv) won't be able to create a lock, we will need a release.

Quick fix for poetry users to run off master until the release is ready:

poetry add git+https://github.com/celery/django-celery-beat.git

django-timezone-field==4.0

specifying newer timezone field directly does not work for me

ERROR: django-celery-beat 1.6.0 has requirement django-timezone-field<4.0,>=2.0, but you'll have django-timezone-field 4.0 which is incompatible.

cause at the moment django-celery-beat 1.6.0 requires django-timezone-field<4.0 if you force it.
pipenv and poetry would not be able to find a version which satisfies both requirements

@domdinicola If, or unless you force it?

using direct to master install worked for me for temp fix
pip install -r requirements.txt -

RUN pip install https://github.com/celery/django-celery-beat/zipball/master#egg=django-celery-beat

@auvipy Waiting for new release, @D3X

@frankyjquintero I'm afraid I can't really do anything here, I'm just a mere contributor. I'm waiting on a new release just like everyone else.

expect a new release before the week end

I tried v2.0.0 yesterday, so far, everything works flawlessly with django3 👍

don't forget to say thanks by donating some for my celery works. https://opencollective.com/celery

Was this page helpful?
0 / 5 - 0 ratings