gpt4 book ai didi

windows - Anaconda python3.5 windows gdal安装

转载 作者:可可西里 更新时间:2023-11-01 10:42:21 27 4
gpt4 key购买 nike

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

我已尝试遵循多个指南,但到目前为止都没有奏效。

我最初尝试过这个指南

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

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

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

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

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,发布于 2017/06/23 所以这似乎有效,但让它与 python 更棘手。

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

在 python 中尝试 from osgeo import gdal 给出

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 feedstock 编译的 GDAL,但也有其他版本(https://anaconda.org/search?q=gdal)。

以上步骤应该足够了。如果您想从控制台使用 GDAL 命令行实用程序,激活安装 GDAL 的环境将使这成为可能。这种方法的好处之一是,当您切换到不同的 Conda 环境时,Conda 会将 GDAL_DATA 值更改为事件环境中的值。这允许您混合和匹配不同的 GDAL 版本而不会发生任何冲突。

关于windows - Anaconda python3.5 windows gdal安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45835181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com