在Windows XP上安装mapnik时出现“ImportError: DLL加载失败:未找到指定过程”错误。
我正在尝试在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文件,我也安装了这些,但问题还是没解决。
任何建议都非常感谢!
3 个回答
我之前也遇到过同样的问题(在 Windows Server 2012 R2 上)。
我在谷歌上搜索了很多,尝试了所有的解决方案。
顺便说一下,今天 mapnik 修复了 libxml2.dll 的问题,通过链接静态地址来解决。
最后,我的问题出在环境变量中的 mapnik 库路径两头用了双引号("C:\mapnik-v2.2.0\lib")!!
在系统环境变量中,千万不要使用双引号。
我把 "C:\mapnik-v2.2.0\lib" 改成了 C:\mapnik-v2.2.0\lib,结果一切都正常了。;)
试着在Windows上安装libxml或libxml2。看起来你可能缺少这个依赖项,或者你的libxml2.dll文件可能过时了。zlatkovic.com是获取Windows版libxml的地方:
这个帖子虽然有点旧,但我最近遇到了同样的问题,并通过网上找到的一些不同提示解决了它。
- 我确保自己安装了32位的Python。我使用的是Windows x86 MSI安装包(版本2.7.2)。
- 我设置了Python的路径变量:C:\Program Files (x86)\Python27。
- 我下载并安装了Mapnik v2.2.0的32位Windows包(没有SDK版本)。
- 我按照这个顺序设置了lib和bin文件夹的路径变量: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中提到的)。
- 确保你的c:\windows文件夹里有libxml2.dll,正如Joan Natalie在安装Mapnik 2.2.0在Windows 7上使用Python 2.7中提到的。我是从我的Mapnik安装文件夹C:\Program Files\mapnik-v2.2.0\lib里复制的这个dll文件。
之后,我就能顺利执行“import mapnik”这个命令了。我还能够运行这里提到的第5个python示例:https://gist.github.com/springmeyer/5651701。
所以我想我遇到了两个问题。首先是缺少libxml2.dll文件,其次是因为我把mapnik的路径放在了路径变量的最后,导致Python找到了错误的文件,因为我系统里有很多同名的dll。
希望我能提供缺失的解决方案。