我有一个以前可以工作的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 库如何存储的了解有限而尝试错误地修复了上述修复之一,请提出建议!
谢谢你
过去几天我一直在为同样的问题苦苦挣扎。使用 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
让我知道它是否有效。
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