3

我正在尝试在 Windows XP 上安装 mapnik。

在认真遵循其网站 ( http://trac.mapnik.org/wiki/WindowsInstallation ) 上的说明后,它失败并显示以下消息:

    File "<stdin>", line 1, in <module>
    File "C:\mapnik-0.7.1\python\2.6\site-packages\mapnik\__init__.py", line 43, in <module> from _mapnik import *
    ImportError: DLL load failed: The specified procedure could not be found.

我也尝试了 OSGEO4W 安装程序,它不再成功,但在显示相同的错误消息之前也会产生一个弹出窗口:

    "The procedure entry point xmlCtxtReadMemory could not be located in the dynamic link library libxml2.dll."

故障排除建议突出显示了几个可能丢失的 dll。我安装了这两个,但未能解决问题。

Dependency Walker 确定了另外三个丢失的 dll,我也安装了它们,但仍然没有解决问题。

任何建议都非常感谢!

4

3 回答 3

6

这是一个相当古老的线程。然而,我刚刚遇到了同样的问题,并且能够用我在网上找到的不同提示来解决它。

  1. 我必须确保我拥有 32 位版本的 Python。我使用了 Windows x86 MSI 安装程序 (2.7.2)
  2. 我为 Python 设置了 PATH 变量:C:\Program Files (x86)\Python27
  3. 我下载并安装了 Mapnik v2.2.0 Windows 32 位包(所以没有 SDK 版本)
  4. 我按以下顺序为 lib 和 bin 文件夹设置 PATH 变量:C:\Program Files\mapnik-v2.2.0\lib;C:\Program Files\mapnik-v2.2.0\bin(重要的部分如下:确保将这两个条目放在路径变量的开头,如 zvolsky 在https://github.com/mapnik/mapnik-packaging/issues/109所述)
  5. 确保您的 c:\windows 文件夹中有 libxml2.dll,正如 Joan Natalie 在使用 Python 2.7 在 Windows 7 中安装 Mapnik 2.2.0 中提到的那样,我刚刚从我的 mapnik 安装文件夹 C:\Program Files\mapnik 复制了 dll 文件-v2.2.0\lib

之后,我能够毫无问题地执行命令“import mapnik”。我还能够执行这里第 5 号所述的 python 演示:https ://gist.github.com/springmeyer/5651701

所以我想我有两个问题。首先是我以某种方式丢失了 libxml2.dll 文件,其次是因为我将 mapnik 条目放在最后的 PATH 变量中,python 不知何故弄错了一个,因为我的系统上有许多相同的 dll。

希望我能在这里提供缺少的解决方案。

于 2014-06-25T14:56:28.027 回答
0

尝试为 Windows 安装 libxml / libxml2。似乎您可能会缺少依赖关系,或者您的 libxml2.dll 可能已过时。zlatkovic.com 是存放 libxml 的 windows 二进制文件的地方:

libxml(2)

在此处下载:ftp: //ftp.zlatkovic.com/libxml/

于 2011-09-27T23:39:20.157 回答
0

我遇到了同样的问题(在 Windows Server 2012 R2 上)。我在谷歌上搜索了很多,我尝试了上述所有答案。顺便说一句,今天 mapnik 通过与静态地址链接来修复 libxml2.dll。

最后我的问题是在 PATH 变量中的 mapnik lib path("C:\mapnik-v2.2.0\lib") 的第一个和最后一个使用双引号!!!!

您不应该在系统环境变量中使用双引号。

我将“C:\mapnik-v2.2.0\lib”更改为 C:\mapnik-v2.2.0\lib,一切正常。;)

于 2015-06-17T13:17:19.380 回答