Mapnik python绑定安装错误

时间:2017-02-03 12:27:45

标签: python python-2.7 openstreetmap mapnik python-bindings

我已经通过本教程https://github.com/mapnik/mapnik/wiki/WindowsInstallation安装了mapnik。 我认为安装成功因为测试6步没有错误。

接下来我通过本教程开始: http://www.bostongis.com/PrinterFriendly.aspx?content_name=generating_osm_tiles

我尝试这个命令:python generate_xml.py osm.xml my_osm.xml --dbname=postgis --user postgres --port 5432 --extent 2430885.23, 6221979.54,2452356.05, 6243283.96 --accept-none

出现此错误:Error: saving xml requires Mapnik python bindings to be installed

所以我google python绑定并找到了这个:https://github.com/mapnik/python-mapnik 并安装pip install mapnik Collecting mapnik Downloading mapnik-0.1-cp27-none-any.whl (37.4MB) 100% |################################| 37.4MB 30kB/s Installing collected packages: mapnik Successfully installed mapnik-0.1

和下一个命令python setup.py install

有错误:

Traceback (most recent call last):
  File "setup.py", line 87, in <module>
    ' +', ' ', cflags.replace('-g ', '').replace('-Os', '').replace('-arch i386', ''))
AttributeError: 'NoneType' object has no attribute 'replace'`

这里是setup.py:http://pastebin.com/LZiGQTmz

我安装了mapnik 2.2和python 2.7以及操作系统窗口。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不希望开源项目支持Windows。我也不想购买服务器许可证。

我选择了Vagrant,并且按照tile-server-ubuntu中包含的有关mapnik的说明部分进行操作,没有任何麻烦。还有其他方法,我的树莓派是我的第一个“胜利”,但可复制性最低。

为了后代,这是我使用的代码:

Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"
end

Shell命令:

sudo apt-get update
sudo apt-get -y install ca-certificates gnupg curl unzip gdal-bin tar wget bzip2 build-essential clang
#sudo apt-get install -y git  # git was already found
sudo apt-get install -y git autoconf libtool libxml2-dev libbz2-dev \
  libgeos-dev libgeos++-dev libproj-dev gdal-bin libgdal-dev g++ \
  libmapnik-dev mapnik-utils python-mapnik

外壳测试结果:

vagrant@ubuntu-bionic:~$ mapnik-config -v
3.0.19
vagrant@ubuntu-bionic:~$ mapnik-config --input-plugins
/usr/lib/mapnik/3.0/input
vagrant@ubuntu-bionic:~$ python -c "import mapnik;print mapnik.__file__"
/usr/lib/python2.7/dist-packages/mapnik/__init__.pyc