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安装的构建

github

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
    

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:

Changelog for mapnik2

2.2.0 (2013-07-23)

  • 刷新2.2.0[dodobas]

2.0.1.1 (2012-08-05)

  • 重命名版本

2.0.2 (2012-08-04)

2.0.1 (2012-05-06)

Mapnik2 Eggified Python绑定的首次公开发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java素数校正(2个数组)   java是否可以将ArrayList除以一个double并创建一个新列表?   列出Java类Java的消息体编写器。util。ArrayList   Java将管道分隔文本\csv文件转换为XML   JAVA木卫一。IOException:读取Transferncode时EOF过早:分块http响应   java Volatile变量的读写   java错误:类型不匹配:无法从ArrayList<Subchild>转换为ArrayList<String>   java:无法向AsyncLoadingCache提供CacheWriter   java多级listview Android Studio   静态Java哈希映射性能   循环如何在JAVA中创建三角形   java在春季为ContextFactoryBean定义多个contextPath路由   java从服务器的URL下载数据,并将其保存在一个私有的安全文件夹中   JavaSpringJPA查询   objective c Java REST服务二进制下载   使用JavaSpringRESTAPI并将记录插入mysql表   java你会选择一个算法的速度而不是它对内存的有效使用吗?   java通过多个字段比较对象,如何添加一个方法?   java在spring框架上使用@ModelAttribute(“myobject”)访问服务器上的JSON