mapnik的python绑定
mapnik2的Python项目详细描述
官方的mapnik绑定以distutils方式重新打包,以便于部署。
这取决于要在您的环境中安装的那些库:
mapnik2 (the c++ library)
BOOST c++:
- boost python
- boost thread
- boost regex
可选但强烈推荐的python库
- pycairo
- PIL / Pillow
如果您是buildout用户,可以查看这个包 集成pycairo&pil安装的构建
MAPNIK2 Notes
python绑定绑定绑定到mapnik2库版本。
与一起使用:
mapnik2 library - 2.0.1: == mapnik2 2.0.1.3
easy_install -U mapnik2==2.0.1.3
mapnik2 library - 2.1.0: == mapnik2 2.1.0
easy_install -U mapnik2==2.1.0
mapnik2 library - 2.2.0: == mapnik2 2.2.0
easy_install -U mapnik2==2.2.0
Credits
Contributors
- kiorky <kiorky@cryptelium.net>
- dodobas <dodobas@geoinfo.geof.hr>
Installation
Prerequisites
不要忘记,如果适用,可以使用ldflags/cflags/ld_library_path dt来指示以下需求的非标准位置。
您必须拥有用于
- The mapnik-config utility to be in your $PATH
- Boost_python linked to your python interpreter If it is not installed in standart envionments, you ll have to handle the CFLAGS/LDFLAGS to find it, or use minitage ;)
- cairo / cairomm (optionnal but enabled if you compiled mapnik with cairo support)
- mapnik2
- The current python interpreter
- pycairo / PIL in the PYTHONPATH somehow
Buildout
一些开发人员使用buildout来简化部署。 *通过正确设置PATH环境变量说明在何处查找mapnik config *将mapnik添加到要安装的鸡蛋列表中,例如
[buildout] parts = somepart [somepart] recipe = minitage.recipe.scripts # or zc.recipe.egg ... eggs = mapnik2
重新运行构建,例如使用:
$ ./bin/buildout
您可以阅读这个egg附带的buildout安装,以获得如何将mapnik集成到buildout中的灵感。 神奇的是使用buildout.minitagificator为pycairo提供pkg config路径和pythonpath
Running this package buildout
首先,您需要在本地安装pycairo:
bin/buildout -vvvvvNc cairo.cfg
然后运行buildout:
bin/buildout -vvvvvN
Easy_install with or without virtualenv
virtualenv --no-site-packages test source test/bin/activate easy_install mapnik2
- 通过正确设置path环境变量,说明在何处查找mapnik config
- 当你读到这篇文章的时候,你可能已经跑了 easy_install mapnik2。了解如何安装setuptools (和easyinstall)这里: http://peak.telecommunity.com/DevCenter/EasyInstall
BOOST NOTES
要指定要链接的boostpython库,可以使用,可以使用以下命令:
export MAPNIK2_BOOST_PYTHON="libboost_python.so.1:libboost_thread.so.1"
文件系统上的位置:
/usr/lib/libboost_python.so.1 /usr/lib/libboost_thread.so.1
对于ubuntu用户,请参考this doc来安装这个egg的先决条件。
Minitage
一些开发人员使用minitage来简化部署(构建时的一个层)。 实际上,它处理了很多事情,比如那些无聊的编译标志。 例如,要在开发模式下处理这个egg,可以这样做来增强它::
easy_install -U virtualenv virtualenv --no-site-packages --distribute ~/minitage mkdir ~/minitage/others
如果尚未安装minitage,请安装它
source ~/minitage/bin/activate easy_install -U minitage.core
初始化它(mandatory)
source ~/minitage/bin/activate minimerge -s
要安装用于mapnik2卵子开发的minilay,您可以执行以下操作
cd ~/minitage/others git clone https://github.com/mapnik/pymapnik2.git mapnik-egg-(py26 or py27) ln -fs ~/minitage/others/mapnik-egg*/minilays/mapnik-egg/ ~/minitage/minilays/mapnik-egg #for python-2.6 minimerge -av mapnik-egg-py26 #for python-2.7 minimerge -av mapnik-egg-py27
享受您的安装
cd ~/minitage/others/mapnik-egg-py26 or cd ~/minitage/others/mapnik-egg-py27 ./bin/mypy >>> import mapnik2
在小型化应用程序中使用mapnik2:
Inside the eggs parts of you buildout add:
[part] eggs += mapnik2In your minibuild, merge the mapnik2 dependencies that you can find here:
重新整合您的项目以构建mapnik2 egg
然后将mapnik2添加到setup.py或buildout中,以便在pythonpath中捕获它。
重新运行buildout,就完成了
Changelog for mapnik2
2.2.0 (2013-07-23)
- 刷新2.2.0[dodobas]
2.1.0.5 (2012-11-01)
- FreeBSD端口
2.1.0 (2012-09-02)
- 刷新2.1.0
2.0.1.1 (2012-08-05)
- 重命名版本
2.0.2 (2012-08-04)
- 多拱支撑,THX至Noirbizarre。[基奥基] 见https://github.com/mapnik/pymapnik2/pull/4
2.0.1 (2012-05-06)
Mapnik2 Eggified Python绑定的首次公开发布