geodjango 同步数据库错误。来自 geodjango 教程

Posted

技术标签:

【中文标题】geodjango 同步数据库错误。来自 geodjango 教程【英文标题】:geodjango syncdb errors. From geodjango tutorial 【发布时间】: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吗? 【参考方案1】:

问题是,在settings.py

'django.db.backends.postgis'

应该是

django.contrib.gis.db.backends.postgis

应该这样做。

【讨论】:

【参考方案2】:

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

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

    brew tap homebrew/versions
    brew install postgis15
    brew untap homebrew/versions
    

    PostGIS 1.5 无法与 PostGreSQL 9.2 配合使用(这是我按照 Geodjango 文档的说明安装的 Homebrew 版本)。所以,我安装了 PostGreSQL 9.1。我完全忘记了我用来安装 PostGreSQL 9.1 的 Homebrew 命令,但它们应该与上一步类似。

    在我的情况下,前面的步骤不足以让 Geodjango 运行。当我再次尝试在 Django 中运行“syncdb”时,我在终端中发现了一个新错误:

    django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: 
    No module named psycopg 
    

    我最初认为我的 psycopg2 和 PostgreSQL9.1 副本不在我的 PYHTONPATH 上,所以我添加了它们。我还摆弄了一下以确保 django 运行的是 PostgreSQL 9.1 而不是 9.2。我使用了“initdb /usr/local/var/postgres”。

    然后我需要做一些数据库配置。我在 PostGIS 中设置了一个模板,并为数据库设置了一个“角色”(/用户)。为此,我按照 Geodjango 文档中的说明进行操作。我收到了很多错误,但谷歌搜索并很容易找到解决方案。

    然后 GeoDjango 开始正常工作了!

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

【讨论】:

以上是关于geodjango 同步数据库错误。来自 geodjango 教程的主要内容,如果未能解决你的问题,请参考以下文章

为啥它在运行迁移时抛出`GeoDjango Postgis 要求不满足得到错误?

将 Django 连接到 PostgreSQL 数据库 (GeoDjango)

带有 Postgis Geodjango 安装的 Postgresql

使用 django.contrib.gis.measure.D 时 GeoDjango dwithin 错误

Geode / GemFire无法创建gemfireCache bean错误:Spring Boot v2.1.3-GemFire启动器1.1.0.RELEASE

GeoDjango 找不到 geos 库