Pracuję nad projektem, który skanuje skrzynkę pocztową Gmaila użytkownika i dostarcza raport. I wdrożyli go w Heroku z następujących specyfikacji:Nie można zaimportować nazwy _uuid_generate_random w heroku django
Język: Python 2.7
ramowa: Django 1.8
harmonogramu zadań: Seler (RabbitMQ-bigwig dla maklera url)
Teraz, gdy heroku go wykonuje, seler nie daje mi ou tput. Na Heroku popchnij jego wyświetlenie Błąd konfiguracji zbiorczej. Próbowałem przy użyciu pakietu whitenoise
próbowali również wykonanie: Heroku run python manage.py collectstatic --dry prowadzony --noinput Wciąż otrzymuję ten sam błąd.
$ heroku uruchom python manage.py collectstatic --noinput podał następujące szczegóły błędu.
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 303, in execute
settings.INSTALLED_APPS
File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/app/.heroku/python/lib/python2.7/site-packages/django/conf/__init__.py", line 92, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/app/.heroku/python/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/app/salesblocker/__init__.py", line 5, in <module>
from .celery import app as celery_app
File "/app/salesblocker/celery.py", line 5, in <module>
from celery import Celery
File "/app/.heroku/python/lib/python2.7/site-packages/celery/__init__.py", line 131, in <module>
from celery import five # noqa
File "/app/.heroku/python/lib/python2.7/site-packages/celery/five.py", line 153, in <module>
from kombu.utils.compat import OrderedDict # noqa
File "/app/.heroku/python/lib/python2.7/site-packages/kombu/utils/__init__.py", line 19, in <module>
from uuid import UUID, uuid4 as _uuid4, _uuid_generate_random
ImportError: cannot import name _uuid_generate_random
Próbowałem również do wycofywania Heroku zobowiązać się do poprzedniej pracy popełnić i sklonowano ten kod, ale na następnych commit (zmian: usunięty obraz multimedialny z folderu mediów) pokazując jej ten sam błąd ponownie.
góry dzięki
Domyślnie używana jest najnowsza wersja Kombu, ale ja 'kombu == 3.0.20' w moim pliku wymagań. –
Niestety, wersja 3.0.30 łamie wsteczną zgodność z Django <1.7. – Cerin
@Cerin naprawdę nie powinieneś używać Django <1.8, ponieważ brakuje ci poprawek bezpieczeństwa. Django 1.6 dobiega końca z końcem kwietnia 2015 roku, a Django 1.4 LTS ma koniec życia od października 2015. Jeśli nie możesz uaktualnić do kombu 3.0.30, zastosuj [poprawkę] (https://github.com/ selera/kombu/commit/3f13d9797bc1234e51de98f30e94f511cc21390f # diff-1e972757630e9bd21c157a3e4fdf2e2cL19) do wcześniejszej wersji lub użyj hacka, którą sugeruje mrooney w swojej odpowiedzi. – Alasdair