2010-08-25 12 views
5

He seguido la instalación de geodjango (Windows XP) y tutorial a la perfección Estoy ejecutando django 1.2 Cuando llego a syncdb y ejecuto, recibo lo siguiente.geodjango syncdb errors. Desde geodjango tutorial

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 

He intentado cambiar a 'django.db.backends.postgresql_psycopg2' como alternativa Pero entonces a recibir esta respuesta:

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

Cuando intento PosgreSQL:

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

¿No es suponer? d ser postgis que he descargado e instalado exitosamente? ¿Por qué no está funcionando? Soy nuevo y estoy tratando de aprender, por lo que cualquier ayuda sería muy apreciada.

+0

¿Puede usted asegurar que instaló 'psycopg'? –

Respuesta

25

El problema es, en settings.py

'django.db.backends.postgis' 

que se supone que es

django.contrib.gis.db.backends.postgis 

que debe hacerlo.

1

Experimenté este mismo error en Mac OS X 10.6 después de seguir las instrucciones en el sitio de geodjango y de instalar paquetes usando Homebrew. Aparentemente, la documentación de Geodjango dio algunas instrucciones incorrectas/desactualizadas sobre cómo instalarlo. Para poner en funcionamiento Geodjango, he seguido varios pasos:

  1. En este momento, GeoDjango 1.4 No juega bien con PostGIS 2.0 (que es la versión Homebrew instalado cuando seguí las instrucciones de la documentación GeoDjango). Entonces, necesitaba instalar PostGIS 1.5. Hice esto usando los siguientes comandos de terminal (para que esto funcione, debe haber instalado Homebrew):

    brew tap homebrew/versions 
    brew install postgis15 
    brew untap homebrew/versions 
    
  2. PostGIS 1.5 no se lleva bien con PostgreSQL 9.2 (que es la versión Homebrew instalado cuando seguí la Instrucciones de la documentación de Geodjango). Entonces, instalé PostGreSQL 9.1. Olvidé exactamente qué comandos de Homebrew utilicé para instalar PostGreSQL 9.1, pero deberían ser similares al paso anterior.

  3. En mi caso, los pasos anteriores no fueron suficientes para que Geodjango fuera operativo. Cuando traté de correr 'syncdb' en Django de nuevo, he descubierto un nuevo error en el terminal:

    django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: 
    No module named psycopg 
    
  4. Al principio pensé que mi copia de psycopg2 y PostgreSQL9.1 no estaban en mi PYHTONPATH, así que les añadí. También me puse a jugar para asegurarme de que django ejecutaba PostgreSQL 9.1 en lugar de 9.2. Usé 'initdb/usr/local/var/postgres'.

  5. Luego tuve que hacer alguna configuración de base de datos. Configuré una plantilla en PostGIS y configuré un "rol" (/ usuario) para la base de datos. Para hacer esto, seguí las instrucciones en la documentación de Geodjango. Recibí numerosos errores, pero los busqué en Google y encontré soluciones con bastante facilidad.

  6. ¡Entonces GeoDjango comenzó a funcionar correctamente!

Esta fuente fue el más útil que encontré y enlaces a otras direcciones URL votos que cubren algunas de estas cuestiones con más detalle: http://pragmaticstartup.wordpress.com/2012/09/26/installing-django-postgis-postgres-on-os-x-version-hell/

Cuestiones relacionadas