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

使用Python 2.7在windows 7中安装Mapnik 2.2.0,python,python-2.7,dll,path,mapnik,Python,Python 2.7,Dll,Path,Mapnik,我已经尝试在我的计算机上安装mapnik好几个小时了,但是导入mapnik时总是得到ImportError:DLL加载失败:找不到指定的过程 我正在使用Windows7。当前安装的软件是Opengeo套件中的Geoserver 这是我的路 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCO

我已经尝试在我的计算机上安装mapnik好几个小时了,但是导入mapnik时总是得到
ImportError:DLL加载失败:找不到指定的过程

我正在使用Windows7。当前安装的软件是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\;
遵循 首先确保已安装32位python 27

可以通过在pythonshell中键入以下内容来实现

>>> import platform
>>> platform.architecture()
('32bit', 'WindowsPE')
如果您看到
'64位'
,请尝试使用
32位版本重新安装(查找“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到您的
    路径
  • 添加
    C:\mapnik-v2.2.0\python\2.7\site包到您的
    PYTHONPATH

import-mapnik

我在WinServewr 2008 R2上遇到了同样的问题。我找到的解决方案是安装Microsoft Visual C++(x86)可再发行10.0.40219,因为mapnik依赖它。此软件包随postgreSQL 9.3 x86提供,因此当您仅安装Postgre x64版本时,可能会出现此错误。

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

ImportError:DLL加载失败:找不到指定的过程。

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

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

有关缺少OSM插件的参考信息,请参阅中的表-运行时错误中的执行结果表明插件无法加载


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

在python shell中,我看到了Win32上的python 2.7.5(默认,2013年5月15日,22:43:36)[MSC v.1500 32位(英特尔)]。在我运行platform.architecture()并显示('32bit','WindowsPE')后,我尝试运行import-mapnik,但它仍然显示Traceback(最近一次调用):文件“”,第1行,在文件“C:\mapnik-v2.2.0\python\2.7\site packages\mapnik_init_uu.py”的第69行,在from\u mapnik import*ImportError:DLL加载失败:找不到指定的过程。失败:找不到指定的过程。您是否下载了“运行时包”或“完整SDK”版本?您需要这两个
c:\\mapnik-v2.2.0\lib
c:\\mapnik-v2.2.0\bin在您的系统路径上。我的系统路径包含C:\mapnik-v2.2.0\lib,但为什么要使用\\而不是\?我下载了运行时软件包,我已经包括了你说的路径,但仍然没有luckno运气,有人知道吗?嘿@Joan,你有没有让它工作过?我只是再次检查,接下来我能够在运行的python解释器中运行
c++
python
演示以及
import-mapnik
。我使用了完整的SDK版本,复制到install dir,设置了所有所需的路径,它工作正常。我确实这样做了,我的系统似乎缺少libxml2.dll,所以我将它从mapnik文件夹复制到C:/Windows中,瞧,它工作了。