如何在Heroku中安装Rtree?

时间:2018-12-14 03:32:42

标签: python heroku geopandas r-tree libspatialindex

我正在heroku上部署GIS应用程序。我在计算机上开发了它,而在部署它时,缺少rtree。我无法通过pip安装它,因为rtree开发人员自己指出,由于pip安装存在问题。我该如何将这种依赖关系引入heroku?

2 个答案:

答案 0 :(得分:0)

我知道这个问题很旧,但是我想我应该把解决方案放在万一有人仍然有这个问题的情况下。

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

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

根据针对RTree(https://github.com/Toblerity/rtree/issues/120)的pip安装的此已知错误,我认为这可能是由于libspatialindex未能在heroku服务器上正确安装/配置引起的。

要使用libspatialindex解决此问题,我向Heroku添加了一个buildpack。 这个为我工作:https://github.com/ihat/heroku-libspatialindex-buildpack.git

您仍需要在libspatialindex 1之后添加标准的python buildpack。

Image of Heroku Dashboard Buildpack Installation Order

这允许RTree通过自动的heroku pip安装过程为我正确安装。

答案 1 :(得分:0)

有一个适用于Linux的Rtree库(https://pypi.org/project/Rtree-linux/),它对我有用,而无需使用任何Buildpack。只需将Rtree-linux==x.x.x添加到您的要求中即可。