我刚刚成功地将Askbot论坛部署到了heroku,但有时候当运行'git push heroku master'时,自动收集过程会失败(对我而言看起来像是随机失败),提示:
-----> Python app detected
-----> Installing dependencies with pip
Cleaning up...
-----> Preparing static assets
Collectstatic configuration error. To debug, run:
$ heroku run python ./askbot/setup_templates/manage.py collectstatic --noinput`
嗯我真的不知道这是不是问题,但manage.py
中的.askbot/setup_templates/
包含应用程序的本机版本文件,而不是我用于部署的文件,它位于在应用程序的根目录中。
如何让git push heroku master
使用正确的manage.py
文件?
答案 0 :(得分:0)
更改Procfile
中的路径。通常它是这样的:
web: gunicorn hellodjango.wsgi --log-file -
调整它:
# from:
web: gunicorn .askbot/setup_templates/yourApp.wsgi
# to:
web: gunicorn .askbot/yourApp.wsgi
检查路径是否确实是您的问题从终端运行:
heroku run python ./manage.py collectstatic
# or
heroku run python ./yourApp.wsgi collectstatic
答案 1 :(得分:0)
在askbot/setup_templates/
中删除或重命名Manage.py解决了问题。
Git Push Heroku Master永远不会在collectstatic
之后运行。
所以我认为由于某种原因,可能是因为sys.path配置有时
Git Push Heroku Master首先发现并使用./askbot/setup_templates/manage.py
而不是./manage.py
(这是正确的),并遇到了ImportError。