【问题标题】:geodjango syncdb errors. From geodjango tutorialgeodjango 同步数据库错误。来自 geodjango 教程
【发布时间】:2011-04-03 19:11:43
【问题描述】:

我已经按照 geodjango 安装(windows XP)和教程完美 我正在运行 django 1.2 当我到达 syncdb 并运行时,我收到以下信息。

    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”作为替代 但后来我收到了这样的回复:

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

当我尝试 posgresql 时:

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

不应该是我成功下载安装的postgis吗?为什么它不工作?我是新手,我正在努力学习,因此我们将不胜感激。

【问题讨论】:

  • 你能确定你安装了psycopg吗?

标签: python django postgresql gis geodjango


【解决方案1】:

问题是,在settings.py

'django.db.backends.postgis'

应该是

django.contrib.gis.db.backends.postgis

应该这样做。

【讨论】:

    【解决方案2】:

    按照 geodjango 网站上的说明并使用 Homebrew 安装软件包后,我在 Mac OS X 10.6 上遇到了同样的错误。显然,Geodjango 文档给出了一些关于如何安装它的不正确/过时的说明。为了让 Geodjango 工作,我遵循了几个步骤:

    1. 目前,GeoDjango 1.4 与 PostGIS 2.0(这是我按照 GeoDjango 文档中的说明安装的 Homebrew 版本)不兼容。所以,我需要安装 PostGIS 1.5。我使用以下终端命令执行此操作(为此,您必须安装 Homebrew):

      brew tap homebrew/versions
      brew install postgis15
      brew untap homebrew/versions
      
    2. PostGIS 1.5 无法与 PostGreSQL 9.2 配合使用(这是我按照 Geodjango 文档的说明安装的 Homebrew 版本)。所以,我安装了 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 中设置了一个模板,并为数据库设置了一个“角色”(/用户)。为此,我按照 Geodjango 文档中的说明进行操作。我收到了很多错误,但谷歌搜索并很容易找到解决方案。

    6. 然后 GeoDjango 开始正常工作了!

    此来源是我发现的最有用的来源,并链接到其他有用的网址,这些网址更详细地涵盖了其中一些问题:http://pragmaticstartup.wordpress.com/2012/09/26/installing-django-postgis-postgres-on-os-x-version-hell/

    【讨论】:

      猜你喜欢
      • 2012-05-05
      • 1970-01-01
      • 2012-02-24
      • 2018-03-15
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 2015-09-01
      相关资源
      最近更新 更多