【问题标题】:error: Please install the PostgreSQL server development packages and re-run configure错误:请安装PostgreSQL服务器开发包并重新运行configure
【发布时间】:2014-11-25 22:01:02
【问题描述】:

我正在尝试在我的 ubuntu 系统上为 django 框架安装 Postgis。但是每次我运行命令 ./configure 时都会出现错误

 error: the PGXS Makefile /usr/lib/postgresql/9.3/lib/pgxs/src/makefiles/pgxs.mk cannot be found. Please install the PostgreSQL server development packages and re-run configure.

我已经在我的系统上安装了 postgres 并且还创建了用户。但我无法在我的系统上安装 Postgis。我已经浏览了我在 Internet 上找到的许多说明,但未能安装它。

请告诉我这个错误的解决方案,以便我可以在 ubuntu 上安装 Postgis。 帮助将不胜感激

【问题讨论】:

  • 供将来参考,这确实更适合 superuser.com 或 serverfault.com 而不是 stackoverflow.com;查看导览和常见问题解答。
  • 你为什么要从头开始构建 postgis?试试apt repository
  • 好的@Craig Ringer,我会在你提到的网站上进一步提问。谢谢
  • @BurhanKhalid 同意,应该只是apt-get install postgis2_93。见postgis.net/install

标签: django postgresql ubuntu postgis geodjango


【解决方案1】:

假设您正在使用来自 http://apt.postgresql.org/ 的 PostgreSQL:

apt-get install postgresql-server-dev-9.3

正如@BurhanKhalid 指出的那样,您应该只是从包中安装 PostGIS,而不是从源代码,as the PostGIS web page explains

apt-get install postgis2_93

【讨论】:

  • 是的,它解决了该错误,但现在我收到另一个错误,即 django.core.exceptions.ImproperlyConfigured: Cannot determine PostGIS version for database "mentorhip62". GeoDjango requires at least PostGIS version 1.3. Was the database created from a spatial database template? 。我按照 django 中的描述从空间模板创建了数据库。
  • @SajidAhmad 在现代 PostGIS 版本中,您通常使用 CREATE EXTENSION postgis; 代替。但无论如何,这是一个单独的问题。如果您在研究了一段时间后仍然卡住,请发布一个新问题并链接回该问题以获取上下文。
  • @SajidAhmad 另外,请参阅更新。你应该像 PostGIS 网站所说的那样从包中安装 PostGIS。
【解决方案2】:

安装postgreSql

sudo apt-get install postgresql postgresql-contrib

安装 Postgis。

sudo add-apt-repository ppa:gwibber-daily/ppa
sudo apt-get update
sudo apt-get install postgresql-9.3-postgis-2.1
sudo apt-get install postgresql-server-dev-9.3

在 Postgresql 中创建数据库

createuser -U postgres username -S -D -R
psql -U postgres -c "alter role username with password 'passhere';"
createdb -U postgres -T template_postgis -O username dbname

如果你在 postgresql 中没有 template_postgis 那么 切换到用户 postgres 并运行

sudo su postgres
createdb template_postgis
createlang plpgsql template_postgis

现在用于创建扩展

psql -d dbname -c "CREATE EXTENSION postgis;"
psql -d dbname -c "CREATE EXTENSION postgis_topology;"

【讨论】:

  • 你不再需要template_postgis,它只是扩展存在之前的遗物。现在,您不妨在需要 PostGIS 的每个数据库中只使用 CREATE EXTENSION
【解决方案3】:

对于 PostgreSQL 11,您需要安装 postgresql-11-postgis-2.5postgresql-11-postgis-2.5-scripts,如 here 所述。

sudo apt install postgresql-11-postgis-2.5
sudo apt install postgresql-11-postgis-2.5-scripts

【讨论】:

    【解决方案4】:

    只需使用此命令:

    sudo apt install postgis
    

    【讨论】:

      猜你喜欢
      • 2017-12-03
      • 2018-01-28
      • 2020-05-10
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多