我一直在尝试在我的计算机上安装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\;
答案 0 :(得分:2)
首先确保安装了32位python 27。
您可以通过在python shell中键入以下内容来完成此操作
>>> import platform
>>> platform.architecture()
('32bit', 'WindowsPE')
如果您看到'64bit'
,请尝试使用32bit
版本重新安装python(查找“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
答案 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的二进制支持已被删除,因此我不希望在这里有太大变化。