Heroku上的Django:ImportError:无法导入名称get_path_info
我在本地运行我的Django应用时没有遇到任何问题,但在Heroku上却出现了一个错误,提示ImportError: cannot import name get_path_info
,我不知道该怎么解决。
这是我的Heroku日志:
2014-07-07 18:45:45 [18423] [INFO] Starting gunicorn 0.13.4
2014-07-07 18:45:45 [18424] [ERROR] Exception in worker process:
Traceback (most recent call last):
File "/lib/python2.7/site-packages/gunicorn/arbiter.py", line 456, in spawn_worker
worker.init_process()
File "/lib/python2.7/site-packages/gunicorn/workers/base.py", line 100, in init_process
self.wsgi = self.app.wsgi()
File "/lib/python2.7/site-packages/gunicorn/app/base.py", line 101, in wsgi
self.callable = self.load()
File "/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 24, in load
return util.import_app(self.app_uri)
File "/lib/python2.7/site-packages/gunicorn/util.py", line 241, in import_app
__import__(module)
File "/app/wsgi.py", line 2, in <module>
from dj_static import Cling
File "/lib/python2.7/site-packages/dj_static.py", line 7, in <module>
from django.core.handlers.base import get_path_info
ImportError: cannot import name get_path_info
2014-07-07 18:45:45 [18424] [INFO] Worker exiting (pid: 18424)
18:45:46 web.1 | 2014-07-07 18:45:46 [18423] [INFO] Shutting down: Master
18:45:46 web.1 | 2014-07-07 18:45:46 [18423] [INFO] Reason: Worker failed to boot.
我的procfile文件:
web: gunicorn app.wsgi
还有我的app/wsgi.py文件:
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
application = Cling(get_wsgi_application())
2 个回答
0
试试这三个步骤:
安装最新版本的 dj-static,输入命令
pip install dj-static==0.0.6
。安装 Heroku 工具包,输入命令
pip install django-toolbet
。确保
requirements.txt
文件是最新的。
1
试着在你的Virtualenv的requirements.txt文件里设置 dj-static==0.0.6
。现在Heroku的Django教程里显示的是0.0.5。你可能在本地使用的是0.0.6,但在Heroku上却不是这个版本。
我已经把这个问题反馈给Heroku,他们的教程现在已经更新,反映了requirements.txt里较新的版本。