DLL加载失败:无法在Windows

时间:2017-05-17 19:18:15

标签: python dll windows-10 gdal

当我尝试加载GDAL时,我得到:

C:\Windows\System32>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from osgeo import gdal;
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python35\lib\site-packages\osgeo\__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "C:\Python35\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
  File "C:\Python35\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "C:\Python35\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found

如何知道它想要哪个DLL?如果它报告了它的名字,我会检查路径。

现在我已经安装了这个

http://download.gisinternals.com/sdk/downloads/release-1500-x64-gdal-2-1-3-mapserver-7-0-4/gdal-201-1500-x64-core.msi

和这个

http://download.gisinternals.com/sdk/downloads/release-1500-x64-gdal-2-1-3-mapserver-7-0-4/GDAL-2.1.3.win-amd64-py3.4.msi

我在Python中有C:\Python35,并在后一次安装时明确设置。

设置路径:

>echo %PATH%
C:\Python35;C:\Program Files\GDAL;C:\Python35\Scripts;

设置变量

>echo %GDAL_DATA%
C:\Program Files\GDAL\gdal-data

>echo %GDAL_DRIVER_PATH%
C:\Program Files\GDAL\gdalplugins

还有什么巫毒可以尝试?

1 个答案:

答案 0 :(得分:0)

我注意到的主要是你似乎安装了Python 3.4绑定,但是使用的是Python 3.5?那是对的吗?这可能是一个线索。

您可以使用Dependency Walker之类的东西来进一步调查此问题。 https://en.wikipedia.org/wiki/Dependency_Walker

你的PATH变量中真的只有三个路径吗?使用PATH变量,顺序很重要。

因为我从conda-forge&#39;切换到Miniconda + GDAL。频道,我的DLL问题(几乎)减少,我高度推荐它。但是,这并没有回答你的问题。