我尝试在 Heroku 上安装 GDAL 库(以使用 OGR 模块 >> FlattenTo2D() 方法)。我找到了 2 个来源如何做到这一点:
我不清楚哪个程序仍然有效,所以我使用了两个程序。将代码部署到 Heroku 后,GDAL 库似乎已安装:
-----> Building on the Heroku-20 stack
-----> Using buildpacks:
1. https://github.com/heroku/heroku-geo-buildpack.git
2. heroku-community/apt
3. heroku/python
-----> Geo Packages (GDAL/GEOS/PROJ) app detected
-----> Installing GDAL-3.5.0
-----> Installing GEOS-3.10.2
-----> Installing PROJ-8.2.1
-----> Apt app detected
但是,当我尝试运行 python 脚本(使用:from osgeo import gdal)时,我收到错误“ModuleNotFoundError:没有名为“osgeo”的模块”。当我检查 Heroku 上的 site-packges 文件夹(/app/.heroku/python/lib/python3.11/site-packages)时,那里没有找到 gdal 文件。它们安装在文件夹中:heroku-geo-buildpack/vendor/bin。
知道找不到 GDAL 可能是什么问题吗?特别是如何安装我正在寻找的 OGR 模块?谢谢你的帮助。
您通过 Geo buildpack 和 Apt 获得的 GDAL 包包含 基础库,它似乎是用 C 和 C++ 的某种组合来实现的。
Python和其他语言的包装器]需要单独安装。在这种情况下,请确保您已在 gdal
、
Pipfile
或
requirements.txt
文件中声明了对
setup.py
的依赖(执行您已经对其他依赖项执行的任何操作)、提交并重新部署。