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)的主要内容,如果未能解决你的问题,请参考以下文章

配置不当的引擎 sqlite , Django

Django DB 设置“配置不当”错误

Django:配置不当:静态文件查找器的存储后端没有有效位置

未检测到 Django settings.py

Django:配置不当:SECRET_KEY 设置不能为空

django-oraclepool 未找到异常