运行Git Push Heroku Master时更改manage.py的路径

时间:2014-08-06 16:59:04

标签: django heroku manage.py askbot

我刚刚成功地将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文件?

2 个答案:

答案 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。