Anaconda Python3.5 Windows Gdal安装

en_lorithai

尝试为我的anaconda3 python安装gdal(Python 3.5.2 | Anaconda自定义(64位)|(默认值,2016年7月5日,11:41:13)[win32上的MSC v.1900 64位(AMD64)])

我尝试遵循一些指南,但到目前为止没有一个有效。

我最初尝试了本指南

https://pypi.python.org/pypi/GDAL

我从http://www.gisinternals.com/query.html?content=filelist&file=release-1800-x64-下载了release-1800-x64-gdal-2-2-1-mapserver-7-0-6.zip gdal-2-2-1-mapserver-7-0-6.zip并将文件夹解压缩到C:。

然后,我将解压缩文件夹中的bin文件夹添加到用户环境变量中。然后,该指南告诉您将数据文件夹添加到名为GDAL_DATA的新环境变量中,但是解压缩的文件夹中没有数据文件夹。但是bin文件夹中有一个gdal-data文件夹,所以我改为添加了该路径。我未在指南中包含的另一步骤是将bin \ gdal \ python添加到PYTHONPATH环境变量中,因为python无法以其他方式找到osgeo。

当我尝试from osgeo import gdal使用python时,我得到以下内容

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\release-1800-x64-gdal-2-2-1-mapserver-7-0-6\bin\gdal\python\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\release-1800-x64-gdal-2-2-1-mapserver-7-0-6\bin\gdal\python\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
  File "C:\Users\username\Anaconda3\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\username\Anaconda3\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

我尝试过的另一种方法是从上述同一站点下载.msi安装程序gdal-202-1800-x64-core.msi和GDAL-2.2.1.win-amd64-py3.4.msi。我首先安装了核心组件,这给了我一个C:\ programfiles \ GDAL文件夹,该文件夹添加到了用户环境变量中。我还添加了一个名为GDAL_DATA(C:\ programfiles \ GDAL \ gdal-data)和GDAL_DRIVER_PATH(C:\ programfiles \ GDAL \ gdalplugins)的环境变量。

gdalinfo --version在命令窗口中运行给出的命令GDAL 2.2.1, released 2017/06/23似乎可以正常工作,但将其与python一起使用则比较棘手。

然后,我运行GDAL-2.2.1.win-amd64-py3.4.msi以安装python绑定。我选择在本地驱动器上安装,然后将site-packages文件夹中的文件添加到我的python安装的site-packages文件夹中。

from osgeo import gdal在python中尝试给出

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\release-1800-x64-gdal-2-2-1-mapserver-7-0-6\bin\gdal\python\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\release-1800-x64-gdal-2-2-1-mapserver-7-0-6\bin\gdal\python\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
  File "C:\Users\username\Anaconda3\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Users\username\Anaconda3\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

和之前一样。我确实注意到.msi安装程序仅适用于python 3.4,而我具有python 3.5。

所以问题是:我的python版本与gdal不兼容,还是有某种方法可以使它工作?

罗格·卡西斯

如果您已经使用Anaconda(或Miniconda),则无需从其他来源安装GDAL。如果您仅从gisinternals安装了那些GDAL版本以用于Python,我将建议以下内容:

  • 还原使用的指南,因此将其卸载并一起删除GDAL_DATA系统变量。
  • 将Conda更新到最新版本(4.3.x),该最新版本对在激活Conda环境时设置GDAL_DATA所需的激活脚本提供了更好的支持。(用于conda update conda -n root更新)。
  • 使用Conda安装GDAL,这将确保您获得兼容的二进制文件(因此避免DLL错误)。我更喜欢使用conda install gdal -c conda-forge,它将安装由Conda-Forge原料编译的GDAL,但还有其他版本(https://anaconda.org/search?q=gdal)。

以上步骤就足够了。如果要从控制台使用GDAL命令行实用程序,激活安装了GDAL的环境将使其成为可能。此方法的优点之一是,当您切换到其他Conda环境时,Conda会将GDAL_DATA值更改为活动环境中的值。这使您可以混合和匹配不同的GDAL版本,而不会发生任何冲突。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章