5

我已经尝试在我的计算机上安装 mapnik 几个小时了,但是当我导入 mapnik 时我总是得到ImportError: DLL load failed: The specified procedure could not be found.

我使用的是 Windows 7。当前安装的软件是来自 Opengeo 套件的 Geoserver。

这是我的路径

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\Java\jre7\bin;C:\Program Files\Java\jdk1.7.0_45\bin;C:\Python27;C:\mapnik-v2.2.0\lib

我的蟒蛇路径:

C:\Python27;C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\Program Files\ArcGIS\bin;C:\\mapnik-v2.2.0\python\2.7\site-packages\;C:\mapnik-v2.2.0\bin\;
4

3 回答 3

2

按照安装说明进行操作

首先确保您安装了 32 位 python 27。

您可以通过在 python shell 中键入以下内容来执行此操作

>>> import platform
>>> platform.architecture()
('32bit', 'WindowsPE')

如果您看到'64bit',请尝试使用该版本重新安装python32bit(查找“Python 2.7.5 Windows Installer”链接)。

在那之后,

  • 下载mapnik包(我用完整的SDK版本测试过)
  • 将存档解压缩到C:\mapnik-v2.2.0
  • 添加C:\mapnik-v2.2.0\lib;C:\mapnik-v2.2.0\bin;到您的PATH
  • 添加C:\mapnik-v2.2.0\python\2.7\site-packages;到您的PYTHONPATH

import mapnik

于 2013-11-09T06:24:30.890 回答
1

我在 WinServewr 2008 R2 上遇到了同样的问题。我找到的解决方案是安装 Microsoft Visual C++(x86) 可再发行10.0.40219,因为 mapnik 依赖于它。这个包附带了 postgreSQL 9.3 x86,所以当你只安装 Postgre x64 版本时,你会出现这个错误。

于 2016-09-19T11:12:24.760 回答
0

即使在我安装了 32 位 Python 之后,我也遇到了这个问题。我遇到了同样的错误:

ImportError: DLL load failed: The specified procedure could not be found.

最后修复它的是将所有 DLL 复制到我的 python 可执行目录。我假设正在进行一些 DLL 地狱类型的操作,它正在链接到某个具有相同名称但没有该入口点的 DLL。我不知道它在寻找什么入口点。

最后这一切都没有用,因为事实证明 2.2.0 版本没有 OSM(OpenStreetMaps)插件,所以我决定在 Linux 上做这个。

请参阅https://github.com/mapnik/mapnik/wiki/WindowsInstallation中的表格以获取缺少 OSM 插件的参考 - 执行会导致运行时错误,指示无法加载插件。

我认为 Windows 对 mapnik 的二进制支持已经被放弃,所以我不希望这里有太大的变化。

于 2019-01-21T10:30:10.193 回答