2010-08-25 39 views
5

我遵循geodjango安裝(windows XP)和教程來完善 我正在運行django 1.2 當我到達syncdb並運行時,我收到以下內容。geodjango syncdb錯誤。從geodjango教程

raise ImproperlyConfigured(error_msg) 
django.core.exceptions.ImproperlyConfigured:'django.db.backends.postgis' isn 
an available database backend. 
Try using django.db.backends.XXX, where XXX is one of: 
    'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3 
Error was: No module named postgis.base 

我試圖改變爲 'django.db.backends.postgresql_psycopg2' 作爲替代 但後來我收到這樣的響應:當我嘗試posgresql

AttributeError: 'DatabaseOperations' object has no attribute 'geo_db_type' 

**raise ImproperlyConfigured("Error loading psycopg module: %s" % e) 
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo 
dule named psycopg** 

是不是假設d是我成功下載和安裝的postgis?爲什麼它不工作?我是新的,我正在努力學習,所以任何幫助將不勝感激。

+0

你能確保你安裝了'psycopg'? – 2010-08-25 16:22:47

回答

25

的問題是,在settings.py

'django.db.backends.postgis' 

它應該是

django.contrib.gis.db.backends.postgis 

應該這樣做。

1

我按照geodjango站點上的說明和使用Homebrew安裝的軟件包後,在Mac OS X 10.6上遇到同樣的錯誤。顯然,Geodjango文檔給出了關於如何安裝它的一些不正確/過時的說明。爲了使GeoDjango內置的工作,我也跟着幾個步驟:

  1. 眼下,GeoDjango內置1.4沒有發揮好與PostGIS的2.0(這是當我跟着GeoDjango內置文檔中的說明家釀安裝的版本)。所以,我需要安裝PostGIS 1.5。我這樣做是使用下面的終端命令(這個工作,您必須安裝自制軟件):

    brew tap homebrew/versions 
    brew install postgis15 
    brew untap homebrew/versions 
    
  2. 的PostGIS 1.5沒有發揮好與PostgreSQL的9.2(這是當我跟着家釀安裝的版本Geodjango文檔的說明)。所以,我安裝了PostGreSQL 9.1。我完全忘記了我用來安裝PostGreSQL 9.1的Homebrew命令,但它們應該與上一步類似。

  3. 在我的情況下,先前的步驟不足以讓Geodjango運作。當我試圖再次運行在Django「執行syncdb」,我在碼頭髮現了一個新的錯誤:

    django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: 
    No module named psycopg 
    
  4. 我最初以爲我psycopg2和PostgreSQL9.1的副本是不是我的PYHTONPATH,所以我加了他們。我也弄了一下,以確保django運行的是PostgreSQL 9.1而不是9.2。我用'initdb/usr/local/var/postgres'。

  5. 然後我需要做一些數據庫配置。我在PostGIS中設置了一個模板,併爲數據庫設置了一個「角色」(/ user)。爲此,我按照Geodjango文檔中的說明進行操作。我收到了很多錯誤,但Google搜索了它們,很容易找到解決方案。

  6. 然後GeoDjango開始正常工作!

這個來源是最有用的一個,我發現並鏈接到涵蓋其中的一些問題進行更詳細的其他有用的網址:http://pragmaticstartup.wordpress.com/2012/09/26/installing-django-postgis-postgres-on-os-x-version-hell/