2014-01-13 35 views
12

我目前正在使用官方的Django教程,使用OSX上的python版本1.6.1和2.7.5版本。我正在处理第2部分,这是管理界面。当我尝试去/管理/调查/调查/,我碰到下面的错误报告:Django教程 - 未正确配置的异常(未安装pytz)

ImproperlyConfigured at /admin/polls/poll/ 
This query requires pytz, but it isn't installed. 
Request Method: GET 
Request URL: http://127.0.0.1:8000/admin/polls/poll/ 
Django Version: 1.6.1 
Exception Type: ImproperlyConfigured 
Exception Value:  
This query requires pytz, but it isn't installed. 
Exception Location: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py in datetime_trunc_sql, line 196 
Python Executable: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python 
Python Version: 2.7.5 

我试图通过安装PIP安装pytz(这需要安装setuptools的),但是这并没有区别。另外,我正在通过本教程第二次,我知道一个月前我没有遇到这个问题。能否更新为小牛队造成了一些问题?

回答

13

在继续搜索django和pytz之后,我找到了1.6 Django发行说明,其中提到如果您的settings.py中USE_TZ = True,您现在必须安装pytz以使用Sqlite3。

我不知道USE_TZ对您的应用程序有什么影响,但将该值设置为False允许我在本教程中继续。我希望Django教程能够更新以反映这一变化。

+3

USE_TZ = True可以识别日期和时间。如果来自不同时区的用户需要使用您的应用,通常需要这样做。更多细节在这里:https://docs.djangoproject.com/en/dev/topics/i18n/timezones/ – arocks

+3

如果USE_TZ的默认值为true(并且大多数应用程序可能需要),pytz应该包含在Django中吗? 顺便说一句我终于得到了pytz的工作,并能够重新启用USE_TZ。在Mac上,我做了: “sudo easy_install pip”,然后 “sudo pip install pytz” 这次,它似乎工作正常。我在他们各自的网站上手动安装了.py脚本的setuptools和pip,并没有任何工作。 –

+0

它在我从Django 1.4升级到1.8之前运行正常,是否意味着USE_TZ之前未启用,现在默认启用它?我不记得启用它或之前有任何问题。 – BluePython

2

我有同样的错误,然后我安装了pytz pip install pytz并再次有同样的错误,直到我重新启动WSGI实例。 (例如,触摸wsig.py(touch wsgi.py)或重启动Apache(apache2ctl restart

16

我也得到了同样的错误。 我安装pytz

$ pip install pytz 

,然后我重新启动服务器。唯一的例外是没有现在更多。

3

的解决方案很简单..

pip install pytz 

,然后停止和重新启动服务器