Jan*_*zny 2 python heroku gdal
我正在尝试Heroku-16堆栈,看起来GDAL升级可能需要更改Python buildpack.
在雪松-14上,我使用的是cyberdelia/heroku-geo-buildpack和heroku自己的python buildpack.
在Heroku-16上使用相同的组合 - 只需更改gdal版本中的需求gdal==2.1.3- 导致构建错误:No such file or directory: 'gdal-config'
我是否需要以构建heroku slug的方式更改某些内容,或者是否需要升级build pack.
任何提示非常感谢.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-w_oq7nbx/gdal/setup.py", line 339, in <module>
**extra )
File "/app/.heroku/python/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/app/.heroku/python/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/app/.heroku/python/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/app/.heroku/python/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 280, in run
self.find_sources()
File "/app/.heroku/python/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 295, in find_sources
mm.run()
File "/app/.heroku/python/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 526, in run
self.add_defaults()
File "/app/.heroku/python/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 562, in add_defaults
sdist.add_defaults(self)
File "/app/.heroku/python/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 36, in add_defaults
self._add_defaults_ext()
File "/app/.heroku/python/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 119, in _add_defaults_ext
build_ext = self.get_finalized_command('build_ext')
File "/app/.heroku/python/lib/python3.6/distutils/cmd.py", line 299, in get_finalized_command
cmd_obj.ensure_finalized()
File "/app/.heroku/python/lib/python3.6/distutils/cmd.py", line 107, in ensure_finalized
self.finalize_options()
File "/tmp/pip-build-w_oq7nbx/gdal/setup.py", line 214, in finalize_options
self.gdaldir = self.get_gdal_config('prefix')
File "/tmp/pip-build-w_oq7nbx/gdal/setup.py", line 188, in get_gdal_config
return fetch_config(option)
File "/tmp/pip-build-w_oq7nbx/gdal/setup.py", line 135, in fetch_config
raise gdal_config_error(e)
__main__.gdal_config_error: [Errno 2] No such file or directory: 'gdal-config'
Run Code Online (Sandbox Code Playgroud)
BUILD_WITH_GEO_LIBRARIES=1Python buildpack知道下载GDAL,GEOS和PROJ.在这种情况下,GeoDjango似乎能够很好地找到库.此方法从S3存储桶下载库和二进制文件,其中包含GDAL版本1.11.5.自定义buildpack方式:一个比较流行的支持geo的构建包是https://github.com/cyberdelia/heroku-geo-buildpack.在雪松-14堆栈上,它开箱即用(删除BUILD_WITH_GEO_LIBRARIES,清除Heroku构建器缓存,重新部署).
在heroku-16堆栈上,它没有正确设置GDAL(如下所述),也没有为Django设置环境变量a6f8e24.相反,你可以在https://github.com/dschep/heroku-geo-buildpack的buildpack中使用修复程序(希望它最终会合并).你需要设置GDAL_LIBRARY_PATH并GEOS_LIBRARY_PATH在您settings.py(你可以使用os.getenv('GDAL_LIBRARY_PATH')).
延伸阅读:
在a6f8e24heroku-16堆栈上运行Python buildpack(或提交cyberdelia/heroku-geo-buildpack buildpack)时,缺少libjasper.so,因此GDAL库将无法成功加载.此外,$PATHPython buildpack中的变量缺少供应商二进制文件,因此gdal-config无法开箱即用.
附录A - 安装的地理库版本:
heroku-16:使用geos版本:3.6.1,使用gdal版本:2.1.3,使用proj版本:4.9.3
cedar-14:使用geos版本:3.4.2,使用gdal版本:1.11.1,使用proj版本:4.8.0_1
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |