尝试为我的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,我将建议以下内容:
conda update conda -n root
更新)。conda install gdal -c conda-forge
,它将安装由Conda-Forge原料编译的GDAL,但还有其他版本(https://anaconda.org/search?q=gdal)。以上步骤就足够了。如果要从控制台使用GDAL命令行实用程序,激活安装了GDAL的环境将使其成为可能。此方法的优点之一是,当您切换到其他Conda环境时,Conda会将GDAL_DATA值更改为活动环境中的值。这使您可以混合和匹配不同的GDAL版本,而不会发生任何冲突。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句