导入错误:导入_gdal时DLL加载失败:找不到指定的模块

问题描述 投票:0回答:3

我有一个以前可以工作的Python脚本,但现在抛出了错误:

ImportError: DLL load failed while importing _gdal: The specified module could not be found.
我正在尝试使用fiona上传shapefile,最初的消息是:
ImportError: DLL load failed while importing _fiona: The specified module could not be found.
我在Windows 11上使用anaconda navigator作为我的IDE。

我知道这是一个以前被问过的问题,并且我已经阅读了这些问题的答案。然而,由于我的情况或我的误解和执行它的行动,这些解决方案并没有奏效。所以我的问题是如何解决这个问题,或者,如果不是那么简单,更好地理解问题。

我查看了我正在使用的环境文件夹中的 DLLs 文件夹,里面没有任何名为 fiona、gdal 或 geopandas 的内容。

到目前为止我的尝试:

1.卸载并重新安装fiona gdal和geopandas(因为我相信它们是依赖的)。

2. 将所有库和 anaconda 更新到最新版本。

3. 下载 Visual C++ Redistributable for Visual Studio 2015。在下载过程中遇到问题,因为它已经安装在我的计算机上,可能是因为它是 Windows 计算机。如果我将其移动到不同的路径/文件夹,这可能会有帮助吗?

4. 在计算机上卸载并重新安装 anaconda navigator。重新创建虚拟环境并导入必要的库。 结果:行错误:

import geopandas as gpd
ImportError: DLL load failed while importing _datadir: The specified module could not be found.

如果有我没有提到的修复,或者如果您怀疑我由于我对 python 库如何存储的了解有限而尝试错误地修复了上述修复之一,请提出建议!

谢谢你

python dll package conda dllimport
3个回答
2
投票

过去几天我一直在为同样的问题苦苦挣扎。使用 conda,我尝试了在互联网上找到的所有内容,例如:

conda update gdal

conda update -n base -c defaults conda   

创建新环境(一遍又一遍)。

尽管不推荐,我什至尝试过

 pip install
...但没有结果。

最后对我有用的是使用 Python 版本 3.6 创建一个新环境

conda create -n env python=3.6 gdal spyder   

让我知道它是否有效。


1
投票

conda install gdal=3.0.2

此问题似乎是较新版本的 GDAL 特有的。 HM_ft 将 Python 降级到 3.6 版本的伎俩之所以奏效,是因为它也导致了 GDAL 降级到了 3.0.2 版本。

FWIW - GDAL 版本 3.4.1 和 3.5.2 对我来说有这个问题。我不确定哪个中间版本(3.0.2 之后到 3.4.1 之前)标志着此问题出现的时间点。

(添加信息)我已经创建了关于此问题的 GDAL 问题报告:https://github.com/OSGeo/gdal/issues/6569


0
投票

尝试这个顺序 - https://stackoverflow.com/a/58943939/14111919

此后,尝试

pip install rasterio
© www.soinside.com 2019 - 2024. All rights reserved.