在Heroku上部署Django项目:ModuleNotFoundError

时间:2020-09-02 20:52:20

标签: python django heroku

在我的项目中没有导入用户的位置。项目的每个方面都在本地运行。我正在为项目使用Visual Studio。

在我的项目目录中

enter image description here

Settings.py INSTALLED_APPS =

# Add your apps here to enable them
'users.apps.usersConfig',
'resume.apps.resumeConfig',
'MainApp.apps.MainAppConfig',
'crispy_forms',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

Procfile:

web: gunicorn Project.Project.wsgi:application

这是错误

2020-08-16T06:35:31.691841+00:00 app[web.1]: Traceback (most recent call last):
2020-08-16T06:35:31.691846+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
2020-08-16T06:35:31.691850+00:00 app[web.1]:     worker.init_process()
2020-08-16T06:35:31.691851+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/workers/base.py", line 129, in init_process
2020-08-16T06:35:31.691852+00:00 app[web.1]:     self.load_wsgi()
2020-08-16T06:35:31.691852+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
2020-08-16T06:35:31.691852+00:00 app[web.1]:     self.wsgi = self.app.wsgi()
2020-08-16T06:35:31.691857+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/base.py", line 67, in wsgi
2020-08-16T06:35:31.691857+00:00 app[web.1]:     self.callable = self.load()
2020-08-16T06:35:31.691858+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
2020-08-16T06:35:31.691858+00:00 app[web.1]:     return self.load_wsgiapp()
2020-08-16T06:35:31.691858+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
2020-08-16T06:35:31.691859+00:00 app[web.1]:     return util.import_app(self.app_uri)
2020-08-16T06:35:31.691859+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/gunicorn/util.py", line 350, in import_app
2020-08-16T06:35:31.691859+00:00 app[web.1]:     __import__(module)
2020-08-16T06:35:31.691861+00:00 app[web.1]:   File "/app/Project/Project/wsgi.py", line 29, in <module>
2020-08-16T06:35:31.691861+00:00 app[web.1]:     application = get_wsgi_application()
2020-08-16T06:35:31.691861+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2020-08-16T06:35:31.691862+00:00 app[web.1]:     django.setup(set_prefix=False)
2020-08-16T06:35:31.691862+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
2020-08-16T06:35:31.691863+00:00 app[web.1]:     apps.populate(settings.INSTALLED_APPS)
2020-08-16T06:35:31.691863+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
2020-08-16T06:35:31.691863+00:00 app[web.1]:     app_config = AppConfig.create(entry)
2020-08-16T06:35:31.691864+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/site-packages/django/apps/config.py", line 116, in create
2020-08-16T06:35:31.691864+00:00 app[web.1]:     mod = import_module(mod_path)
2020-08-16T06:35:31.691864+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.8/importlib/__init__.py", line 127, in import_module
2020-08-16T06:35:31.691865+00:00 app[web.1]:     return _bootstrap._gcd_import(name[level:], package, level)
2020-08-16T06:35:31.691865+00:00 app[web.1]: ModuleNotFoundError: No module named 'users'

1 个答案:

答案 0 :(得分:0)

我认为导入错误的原因是,users.apps.usersConfig列表中的INSTALLED_APPS条目(以及其余条目)将在运行时导入。根据Heroku的documentation,您的问题可能是Procfile的语法。也许尝试以下方法:

web: gunicorn Project.wsgi