ImportError при развертывании приложения Django на heroku - PullRequest
0 голосов
/ 27 августа 2018

Что я пытаюсь сделать?

Я пытаюсь развернуть приложение Django на heroku.

В чем проблема?

После загрузки моего приложения в heroku. Я пытаюсь получить к нему доступ, но получаю Application Error, в котором также упоминается эта команда heroku logs --tail, чтобы получить подробную информацию об ошибке. Поэтому я запускаю команду и получаю журнал со следующими деталями (он показывает много содержимого в журнале, но я показал только несколько):

2018-08-27T20:03:18.139298+00:00 app[web.1]: [2018-08-27 20:03:18 +0000] [11] [ERROR] Exception in worker process
2018-08-27T20:03:18.139347+00:00 app[web.1]: Traceback (most recent call last):
2018-08-27T20:03:18.139351+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2018-08-27T20:03:18.139356+00:00 app[web.1]: worker.init_process()
2018-08-27T20:03:18.139358+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 129, in init_process
2018-08-27T20:03:18.139360+00:00 app[web.1]: self.load_wsgi()
2018-08-27T20:03:18.139361+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
2018-08-27T20:03:18.139363+00:00 app[web.1]: self.wsgi = self.app.wsgi()
2018-08-27T20:03:18.139365+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
2018-08-27T20:03:18.139366+00:00 app[web.1]: self.callable = self.load()
2018-08-27T20:03:18.139368+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
2018-08-27T20:03:18.139370+00:00 app[web.1]: return self.load_wsgiapp()
2018-08-27T20:03:18.139371+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
2018-08-27T20:03:18.139373+00:00 app[web.1]: return util.import_app(self.app_uri)
2018-08-27T20:03:18.139375+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/gunicorn/util.py", line 350, in import_app
2018-08-27T20:03:18.139377+00:00 app[web.1]: __import__(module)
2018-08-27T20:03:18.139379+00:00 app[web.1]: File "/app/ditook/wsgi.py", line 16, in <module>
2018-08-27T20:03:18.139380+00:00 app[web.1]: application = get_wsgi_application()
2018-08-27T20:03:18.139382+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
2018-08-27T20:03:18.139384+00:00 app[web.1]: django.setup(set_prefix=False)
2018-08-27T20:03:18.139385+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
2018-08-27T20:03:18.139387+00:00 app[web.1]: apps.populate(settings.INSTALLED_APPS)
2018-08-27T20:03:18.139388+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
2018-08-27T20:03:18.139390+00:00 app[web.1]: app_config = AppConfig.create(entry)
2018-08-27T20:03:18.139391+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/django/apps/config.py", line 94, in create
2018-08-27T20:03:18.139393+00:00 app[web.1]: module = import_module(entry)
2018-08-27T20:03:18.139394+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/importlib/__init__.py", line 37, in import_module
2018-08-27T20:03:18.139396+00:00 app[web.1]: __import__(name)
2018-08-27T20:03:18.139397+00:00 app[web.1]: ImportError: No module named django_visitor_information

Везде в журнале я вижу ImportError: No module named django_visitor_information упомянутое.

settings.py:

INSTALLED_APPS = [
    'Authentication.apps.AuthenticationConfig',
    'django_visitor_information',
    ...,]

 MIDDLEWARE = [
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',        
    'Authentication.timezone_middleware.TimezoneMiddleware',
    ...,]

SETTINGS_PATH = os.path.dirname(os.path.dirname(__file__))

WSGI_APPLICATION = 'myproject.wsgi.application'                    
LANGUAGE_CODE = 'en-us'    
TIME_ZONE = 'UTC'    
USE_I18N = True    
USE_L10N = True    
USE_TZ = True

import dj_database_url
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,"static"),
]

STATIC_URL = '/static/'    
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')    
MEDIA_ROOT = os.path.join(BASE_DIR, 'static/media/Img')
MEDIA_URL = '/static/media/'

структура проекта:

- myproject
  - myproject
    - migrations
    - _init_.py
    - admin.py
    - models.py
    - settings.py
    - urls.py
    - views.py
    - wsgi.py
  - static
  - templates
  - db.sqlite3
  - GeolP.dat // this is used by django_visitor_information
  - manage.py
  - Procfile
  - requirements.txt
  - runtime.txt

Я также пытался установить init.py из django_visitor_information приложения пустым. Потому что я видел это в этом посте. Но это все равно не помогло.

Буду признателен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...