Невозможно разместить в heroku из-за чрезмерных ошибок

#python #django #heroku

#python #джанго #heroku #django

Вопрос:

Я пытался разместить в Heroku на прошлой неделе и не могу понять проблему, с которой я сталкиваюсь! Приложение успешно развернуто и построено, но когда я открываю URL-адрес, он говорит «Ошибка приложения»

Затем, когда я бежал heroku logs , мне дали вот это…

 2020-08-21T16:21:04.049609 00:00 app[web.1]: raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2020-08-21T16:21:04.049638 00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2020-08-21T16:21:04.136860 00:00 heroku[web.1]: Process exited with status 1
2020-08-21T16:21:04.175715 00:00 heroku[web.1]: State changed from up to crashed
2020-08-21T16:21:11.000000 00:00 app[api]: Build succeeded
2020-08-21T16:25:25.745203 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=kti-bylimra.herokuapp.com request_id=920d0650-de28-4b2f-928d-6a97a46fc0db fwd="112.135.197.200" dyno= connect= service= status=503 bytes= protocol=http
2020-08-21T16:25:27.248826 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=kti-bylimra.herokuapp.com request_id=3be3c388-44d4-4481-891a-4ccc8ed79c85 fwd="112.135.197.200" dyno= connect= service= status=503 bytes= protocol=http
2020-08-21T16:25:37.977206 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=kti-bylimra.herokuapp.com request_id=b8ea34c4-2625-47c2-842f-256d727e48de fwd="112.135.197.200" dyno= connect= service= status=503 bytes= protocol=http
2020-08-21T16:25:38.166373 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=kti-bylimra.herokuapp.com request_id=f095f479-6ec5-4f22-ac97-0d3e499ebc2c fwd="112.135.197.200" dyno= connect= service= status=503 bytes= protocol=http
2020-08-21T16:25:38.926833 00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=kti-bylimra.herokuapp.com request_id=99979365-e018-47f7-9167-2594b7c3eaa9 fwd="112.135.197.200" dyno= connect= service= status=503 bytes= protocol=http
2020-08-21T16:26:00.656226 00:00 app[api]: Starting process with command `python manage.py migrate` by user najaaznabhan@gmail.com
2020-08-21T16:26:12.645457 00:00 heroku[run.1617]: State changed from starting to up
2020-08-21T16:26:12.745856 00:00 heroku[run.1617]: Awaiting client
2020-08-21T16:26:12.766309 00:00 heroku[run.1617]: Starting process with command `python manage.py migrate`
2020-08-21T16:26:17.526815 00:00 heroku[run.1617]: Process exited with status 1
2020-08-21T16:26:17.559197 00:00 heroku[run.1617]: State changed from up to complete
  

Затем я попытался запустить heroku run rails console , как рекомендовал кто-то другой, но меня выбросило с этой ошибкой!

 bash: rails: command not found
  

Я задавался вопросом, было ли что-то не так с моим Procfile, но я не смог найти никаких недостатков. Имя моего приложения — kti, и внутри этого каталога, где settings.py также включен wsgi.py

 web: gunicorn kti.wsgi
  

Даже когда я попытался запустить heroku run python manage.py migrate , это сработало неожиданно, поскольку выдало мне эту ошибку.

 File "/app/.heroku/python/lib/python3.6/site-packages/django_cleanup/cache.py", line 107, in get_dotted_path
    return DOTTED_PATH.format(klass=object_.__class__)
  File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/functional.py", line 224, in inner
    self._setup()
  File "/app/.heroku/python/lib/python3.6/site-packages/django/core/files/storage.py", line 364, in _setup
    self._wrapped = get_storage_class()()
  File "/app/.heroku/python/lib/python3.6/site-packages/django/core/files/storage.py", line 359, in get_storage_class
    return import_string(import_path or settings.DEFAULT_FILE_STORAGE)
  File "/app/.heroku/python/lib/python3.6/site-packages/django/utils/module_loading.py", line 17, in import_string
    module = import_module(module_path)
  File "/app/.heroku/python/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/app/.heroku/python/lib/python3.6/site-packages/storages/backends/s3boto3.py", line 17, in <module>
    from django.utils.six import BytesIO
ModuleNotFoundError: No module named 'django.utils.six'
  

Я попытался обновить все модули, включая six, django-хранилища и серверные части..

На всякий случай вот мой settings.py …

 import django_heroku 
import os
.
.
.
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
    
CRISPY_TEMPLATE_PACK = 'bootstrap4'
django_heroku.settings(locals())
  

Как и было запрошено, моя версия django-heroku равна 0.3.1, а версия heroku равна 0.1.4. Моя версия django равна 3.0.8.

Любая помощь приветствуется! Спасибо!

Комментарии:

1. Что такое версия heroku django ? и используете ли вы corsheader?

2. @EricMartin Я добавил необходимые версии в нижней части вопроса. Надеюсь, вы могли бы мне помочь, потому что я сейчас нахожусь в немного отчаянной ситуации. Спасибо!

3. @EricMartini забыл упомянуть, что я не использую Corsheader, или, по крайней мере, я думаю, что не использую, потому что понятия не имею, что это такое.

4. Django.utils.six был удален в django 3.0, поэтому у вас есть два варианта: обновить django-хранилища, но вы говорите, что уже пытались. Какова ваша фактическая версия? Я лично использую 1.9.1, и все в порядке

5. Второй вариант: понизить django до 2.9

Ответ №1:

Django.utils.six был удален в django 3.0

https://docs.djangoproject.com/en/3.1/releases/3.0/#removed-private-python-2-compatibility-apis

итак, у вас есть два варианта :

  1. Обновите версию django-storages > = 1.8 см. Примечание к выпуску:https://pypi.org/project/django-storages/1.8 /

  2. Понизьте django до версии < 3.0