如何在Heroku上安装Rtree?

4

我正在Heroku上部署一个GIS应用程序。我在我的电脑上开发它,但是当我部署它时,rtree缺失。由于rtree开发者自己指出pip安装存在错误,因此我无法通过pip进行安装。我该如何将这个依赖项添加到Heroku中?

2个回答

2

我知道这个问题很老了,但我认为我会把我的解决方案放在这里,以防仍然有人遇到这个问题。

至少对我来说,pip安装RTree 0.9.4失败的原因是以下错误:

AttributeError: /app/.heroku/python/bin/python: undefined symbol: Error_GetLastErrorNum

根据关于pip安装RTree的已知错误(https://github.com/Toblerity/rtree/issues/120),我认为可能是由于在Heroku服务器上没有正确安装/配置libspatialindex引起的问题。
为了解决这个libspatialindex的问题,我向Heroku添加了一个构建包。这个构建包对我有用:https://github.com/ihat/heroku-libspatialindex-buildpack.git 在libspatialindex后仍然需要添加标准的Python构建包。 Heroku Dashboard Buildpack Installation Order的图像 这使得RTree可以通过自动Heroku pip安装过程正确地安装到我的计算机中。

这个解决方案似乎不再起作用了,buildback引发了一个错误。 以下的buildpack在运行时返回一个成功的消息,但是Rtree的安装失败: https://github.com/teddyward/libspatialindex-buildpack.git - Ricardo Sampaio

1
在Linux上有一个Rtree库(https://pypi.org/project/Rtree-linux/),对于我来说,它可以正常工作,而不需要使用任何Buildpack。只需将Rtree-linux==x.x.x添加到您的要求中即可,保留HTML标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接