Windows中还有一个GDAL导入错误

我已经安装(和卸载),并在Windows 10使用克里斯托弗轮安装GDAL 2.2.2 。 但是,当我尝试导入它时,我得到:

 Installing collected packages: GDAL Successfully installed GDAL-2.2.2 (e4) C:\Users\R1702898\Documents\Empirical_v4>python Python 3.4.4 |Continuum Analytics, Inc.| (default, Jun 15 2016, 15:25:08) [MSC v.1600 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from osgeo import ogr Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\R1702898\Documents\e4\lib\site-packages\osgeo\__init__.py", line 35, in <module> _gdal = swig_import_helper() File "C:\Users\R1702898\Documents\e4\lib\site-packages\osgeo\__init__.py", line 31, in swig_import_helper _mod = imp.load_module('_gdal', fp, pathname, description) File "C:\Users\R1702898\Documents\e4\lib\imp.py", line 243, in load_module return load_dynamic(name, filename, file) ImportError: DLL load failed with error code -1073741795 

在Windows中安装的唯一方法是使用轮子。 一切都失败了。 唯一可用的轮子是version 2.2.2所有其他依赖:Fiona,六,numpy,pandas安装。 尽pipegeopandas也不会导入(因为它需要ogr)。 我也设置了path。

任何帮助。 请。 谢谢。

我会避免的一件事是混合搭配不同的安装方式。 如果您已经使用Conda,请坚持下去。 我只使用pip安装作为最后的手段。 因为GDAL使用编译代码,所以如果你安装依赖于GDAL的软件包,这些软件包可能会遇到不同的编译器。 这正是Conda通过仔细查看需求和依赖关系解决的问题。

在你的情况下,部分困难来自使用Fiona,虽然它是一个很好的包,但是它有一些非常严格的版本要求,使得它不是最简单的依赖。 从Conda-Forge看到yaml: https : //github.com/conda-forge/fiona-feedstock/blob/master/recipe/meta.yaml

在我的机器上(Win 10 64bit)它仍然可以通过只使用Conda获得上面列出的所有软件包,

我的做法是:

1)将您的Conda更新到最新版本( conda update conda -n root

2)创造一个新的环境:

 conda create -n gdaltest python=3.6 gdal fiona geopandas numpy -c conda-forge 

由于一些食谱的限制,它解决了(对我来说)使用例如Numpy 1.11,而不是最新的1.13。

3)激活新的环境( activate gdaltest ),并检查激活脚本是否工作。 这应该正确地设置环境变量,这是冲突的一个重要步骤。

在cmd中运行SET并检查GDAL_DATA是否设置为刚激活的环境。 还要检查你的激活环境是否在PATH变量中首先出现,它应该已经从你的环境中添加了几个文件夹(比如..\Library\bin..\Scripts等)。

这应该是足够的。 你可以通过启动Python来检查它(确保正确的环境是活动的),并开始导入gdal,fiona等