我正在heroku上部署GIS应用程序。我在计算机上开发了它,而在部署它时,缺少rtree。我无法通过pip安装它,因为rtree开发人员自己指出,由于pip安装存在问题。我该如何将这种依赖关系引入heroku?
答案 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
添加到您的要求中即可。