2014-01-13 36 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 

,然後停止和重新啓動服務器