我试图在Heroku上部署我的简单Django web应用程序,但是构建失败了,出现了以下错误:
Successfully installed asgiref-3.3.4 dj-database-url-0.5.0 django-3.2 django-heroku-0.3.1 gunicorn-20.1.0 numpy-1.20.2 pillow-8.2.0 psycopg2-2.8.6 pytz-2021.1 sqlparse-0.4.1 torch-1.8.1 torchvision-0.9.1 typing-extensions-3.7.4.3 whitenoise-5.2.0
-----> $ python pytorch_django/manage.py collectstatic --noinput
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 237, in fetch_command
app_name = commands[subcommand]
KeyError: 'collectstatic'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tmp/build_6b3954ac/pytorch_django/manage.py", line 22, in <module>
main()
File "/tmp/build_6b3954ac/pytorch_django/manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python3.9/site-packages/django/core/management/__init__.py", line 244, in fetch_command
settings.INSTALLED_APPS
File "/app/.heroku/python/lib/python3.9/site-packages/django/conf/__init__.py", line 82, in __getattr__
self._setup(name)
File "/app/.heroku/python/lib/python3.9/site-packages/django/conf/__init__.py", line 69, in _setup
self._wrapped = Settings(settings_module)
File "/app/.heroku/python/lib/python3.9/site-packages/django/conf/__init__.py", line 170, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/app/.heroku/python/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'project'
! Error while running '$ python pytorch_django/manage.py collectstatic --noinput'.我已经成功地在Heroku上部署了其他Django应用程序,我不明白这里有什么问题。KeyError: 'collectstatic'是什么意思,它是从哪里来的?
在本地,应用程序运行良好,python manage.py collectstatic运行也很好。有什么问题吗?它是否与Python3.9相关?这里有Python3.8。
编辑:这种情况也发生在刚创建的Django应用程序中--代码没有任何变化。
发布于 2021-04-11 09:03:57
问题是我自己的错,但不是Django应用程序,而是我的Heroku配置。在我的Heroku环境变量(Settings > Config Vars)中,我错误地将DJANGO_SETTINGS_MODULE设置为project.prod_settings。但是,我的Django项目名为pytorch_django,因此我不得不将它设置为pytorch_django.prod_settings。
这就是导致错误ModuleNotFoundError: No module named 'project'的原因。将DJANGO_SETTINGS_MODULE更改为正确的路径解决了问题。
https://stackoverflow.com/questions/67038910
复制相似问题