【问题标题】:heroku push rejected due to gdal library由于 gdal 库,heroku push 被拒绝
【发布时间】:2017-12-29 12:34:49
【问题描述】:

我想在 heroku 中部署我的应用程序。我使用的平台是django 1.11, django-rest-framework, postgresql, gis。当我执行git push heroku master 时,出现以下错误

django.core.exceptions.ImproperlyConfigured:找不到 GDAL 库(尝试过“gdal”、“GDAL”、“gdal2.1.0”、“gdal2.0.0”、“gdal1.11.0”、 “gdal1.10.0”、“gdal1.9.0”)。 GDAL 安装了吗?如果是,请尝试设置 GDAL_LIBRARY_PATH 在您的设置中。

它说要安装 GDAL 并提供 GDAL_LIBRARY_PATH。我如何为其提供路径?

我也为postgresql配置了

heroku addons:create heroku-postgresql:hobby-dev

【问题讨论】:

  • 您是否在您的requirements.txt 文件中添加了gdal
  • 它在 pip 中可用吗?
  • 应该是。我想这就是你想要的:pypi.python.org/pypi/GDAL/2.2.1
  • @Tushortz 没有显示 pip 安装,我也得到了一个错误。如果我无法使用 pip 安装它,我如何在 requirements.txt 中显示它?此外,问题仅在部署到 heroku 而不是在本地服务器中时。
  • @connyctTus 你解决了这个问题吗?我有同样的问题..

标签: django postgresql heroku postgis


【解决方案1】:

我遇到了同样的问题,不得不将来自多个地方的信息拼凑起来。

首先,来自 Heroku 官方文档:https://devcenter.heroku.com/articles/postgis#geodjango-setup 将这些行添加到您的设置中:

DATABASES['default']['ENGINE'] = 'django.contrib.gis.db.backends.postgis'

GDAL_LIBRARY_PATH = os.getenv('GDAL_LIBRARY_PATH')
GEOS_LIBRARY_PATH = os.getenv('GEOS_LIBRARY_PATH')

还将django.contrib.gis 添加到您的INSTALLED_APPS

为您的应用运行 heroku config:set BUILD_WITH_GEO_LIBRARIES=1 -a name_of_your_app

最后,但重要的是,运行 heroku buildpacks:add https://github.com/TrailStash/heroku-geo-buildpack -a name_of_your_app

这对我来说适用于 heroku-16 堆栈。

【讨论】:

    猜你喜欢
    • 2016-06-02
    • 2012-10-07
    • 1970-01-01
    • 2012-12-29
    • 2013-09-27
    • 2019-01-08
    • 2013-01-20
    • 2010-12-21
    • 1970-01-01
    相关资源
    最近更新 更多