使用Python 2.7在Windows 7中安装Mapnik 2.2.0

时间:2013-11-09 03:28:41

标签: python python-2.7 dll path mapnik

我一直在尝试在我的计算机上安装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

我的python路径:

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\;

3 个答案:

答案 0 :(得分:2)

关注install instructions

  

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

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

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

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

之后,

  • Download 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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

最终解决此问题的方法是将所有DLL复制到我的python可执行文件目录中。我假设发生了一些DLL地狱类型的操作,并且它链接到具有相同名称但没有该入口点的DLL。我不知道它在寻找什么入口点。

最后,这一切都没有用,因为事实证明,对于2.2.0版本没有OSM(OpenStreetMaps)插件,因此我决定在Linux上执行此操作。

有关缺少的OSM插件的信息,请参见https://github.com/mapnik/mapnik/wiki/WindowsInstallation上的表-执行会导致运行时错误,指示无法加载该插件。

我认为Windows对mapnik的二进制支持已被删除,因此我不希望在这里有太大变化。