Python 由于错误过多,无法在heroku中托管

Python 由于错误过多,无法在heroku中托管,python,django,heroku,Python,Django,Heroku,上周我一直在尝试在Heroku主持节目,但我不知道我面临的问题是什么! 应用程序已成功部署和构建,但当我打开URL时,它会显示“应用程序错误” 然后当我运行heroku日志时,我得到了这个 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.

上周我一直在尝试在Heroku主持节目,但我不知道我面临的问题是什么! 应用程序已成功部署和构建,但当我打开URL时,它会显示“应用程序错误”

然后当我运行heroku日志时,我得到了这个

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
我想知道我的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'
根据要求,我的django heroku版本为0.3.1,heroku版本为0.1.4。我的django版本是3.0.8

非常感谢您的帮助!
谢谢

Django.utils.six已在Django 3.0中删除

所以你有两个选择:

  • 升级django storages版本>=1.8 见发行说明:

  • 将django降级到版本<3.0


  • 什么是heroku django版本?“你使用corsheader吗?”埃里克·马丁我在问题的底部添加了必要的版本。希望你能帮助我,因为我现在有点绝望。谢谢@EricMartini忘了提到我不使用Corsheader,或者至少我认为我不使用Corsheader,因为我不知道它是什么。Django.utils.six在Django 3.0中已被删除,所以你有两个选择:升级Django存储,但你说你已经尝试过了。你的实际版本是什么?我个人使用1.9.1,一切都很好。第二种选择:将django降级到2.9
    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'
    
    import django_heroku 
    import os
    .
    .
    .
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    MEDIA_URL = '/media/'
        
    CRISPY_TEMPLATE_PACK = 'bootstrap4'
    django_heroku.settings(locals())