Django 教程 - 配置不当的异常(未安装 pytz)
Posted
技术标签:
【中文标题】Django 教程 - 配置不当的异常(未安装 pytz)【英文标题】:Django Tutorial - ImproperlyConfigured exception (pytz isn't installed) 【发布时间】:2014-01-31 18:55:01 【问题描述】:我目前正在使用 OSX 上的 1.6.1 版和 2.7.5 版 python 完成官方 Django 教程。我正在处理第 2 部分,即管理界面。当我尝试转到 /admin/polls/poll/ 时,我收到以下错误报告:
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(需要安装 setuptools)来安装 pytz,但这并没有什么区别。另外,我正在第二次阅读本教程,我知道一个月前我没有遇到这个问题。更新到 Mavericks 会不会导致一些问题?
【问题讨论】:
【参考方案1】:我也遇到了同样的错误。 我安装了pytz
$ pip install pytz
然后我重新启动了服务器。现在已经没有例外了。
【讨论】:
【参考方案2】:在继续搜索 django 和 pytz 之后,我找到了 1.6 版 Django 发行说明,其中提到如果您的 settings.py 中的 USE_TZ=True,您现在必须安装 pytz 才能使用 Sqlite3。
我不知道 USE_TZ 对您的应用程序有什么影响,但是将该值设置为 False 可以让我继续本教程。我希望更新 Django 教程以反映这一变化。
【讨论】:
USE_TZ=True 使日期和时间时区感知。如果来自不同时区的用户需要使用您的应用,这通常是必需的。更多细节在这里:docs.djangoproject.com/en/dev/topics/i18n/timezones 如果 USE_TZ 的默认值为 true (并且可能大多数应用程序都需要),pytz 是否应该包含在 Django 中?顺便说一句,我终于让 pytz 工作了,并且能够重新启用 USE_TZ。在 Mac 上,我做了:“sudo easy_install pip”,然后是“sudo pip install pytz”,这一次,它似乎工作正常。我在各自网站上手动安装 setuptools 和 pip 的 .py 脚本,但似乎没有任何效果。 在我从 Django 1.4 升级到 1.8 之前它运行良好,这是否意味着 USE_TZ 以前未启用,现在默认启用?我不记得之前启用它或遇到过任何问题。【参考方案3】:解决方法很简单..
pip install pytz
然后停止并重新启动您的服务器
【讨论】:
【参考方案4】:我遇到了同样的错误,然后我用pip install pytz
安装了 pytz 并再次遇到同样的错误,直到我重新启动 WSGI 实例。 (例如,触摸 wsig.py (touch wsgi.py
) 或重启 apache (apache2ctl restart
)
【讨论】:
以上是关于Django 教程 - 配置不当的异常(未安装 pytz)的主要内容,如果未能解决你的问题,请参考以下文章