跳转到主要内容

mapnik的Python绑定

项目描述

以distutils方式重新包装的官方mapnik绑定,以方便部署。

这取决于您环境中的以下库

  • mapnik2(C++库)

  • BOOST c++

    • boost python

    • boost thread

    • boost regex

可选但强烈推荐的Python库

  • pycairo

  • PIL / Pillow

如果您是buildout用户,可以查看此包的buildout,它集成了pycairo & pil安装

github

MAPNIK2 注意事项

Python绑定与mapnik2库版本相关。

要使用

  • mapnik2库 - 2.0.1:

    == mapnik2 2.0.1.3

    easy_install -U mapnik2==2.0.1.3
  • mapnik2库 - 2.1.0:

    == mapnik2 2.1.0

    easy_install -U mapnik2==2.1.0
  • mapnik2库 - 2.2.0:

    == mapnik2 2.2.0

    easy_install -U mapnik2==2.2.0

致谢

公司

makinacom

作者

贡献者

安装

先决条件

请记住,您可以通过设置LDFLAGS/CFLAGS/LD_LIBRARY_PATH来指定非标准位置以满足以下需求。

您需要以下包含和库:

  • mapnik-config工具需要位于您的$PATH中

  • Boost_python与您的Python解释器链接。如果它未安装在标准环境中,您需要处理CFLAGS/LDFLAGS以找到它,或者使用minitage ;)

  • cairo / cairomm(可选,但启用如果您用cairo支持编译了mapnik)

  • mapnik2

  • 当前的Python解释器

  • pycairo / PIL需要放在PYTHONPATH中

Buildout

一些开发者使用buildout来简化部署。* 通过正确设置PATH环境变量来指定mapnik-config的位置 * 将mapnik添加到要安装的egg列表中,例如。

[buildout]
parts = somepart

[somepart]
recipe = minitage.recipe.scripts # or zc.recipe.egg ...
eggs = mapnik2
  • 重新运行buildout,例如使用

    $ ./bin/buildout

您可以从这个egg中提供的buildout安装中了解如何集成mapnik。魔法在于使用buildout.minitagificator将PKG_CONFIG_PATH和PYTHONPATH与pycairo关联

运行此包的buildout

首先,您需要本地安装pycairo

bin/buildout -vvvvvNc cairo.cfg

然后运行buildout

bin/buildout -vvvvvN

带或不带virtualenv的easy_install

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](http://peak.telecommunity.com/DevCenter/EasyInstall)

BOOST 注意事项

要指定要链接哪个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用户,请参阅[此文档](https://github.com/mapnik/mapnik/wiki/UbuntuInstallation)来安装此egg的先决条件。

Minitage

一些开发者使用minitage来简化部署(在buildout之上的一层)。实际上,它处理了很多像无聊的编译标志这样的东西。例如,要开发此egg,您可以这样做来引导它:

easy_install -U virtualenv
virtualenv --no-site-packages --distribute ~/minitage
mkdir ~/minitage/others

如果您还没有安装minitage,请安装它

source ~/minitage/bin/activate
easy_install -U minitage.core

初始化它(强制

source ~/minitage/bin/activate
minimerge -s

要为mapnik2 egg开发安装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

为了在您的minitagified应用程序中使用mapnik2

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)

  • 多架构支持,感谢noirbizarre。[kiorky] 请参阅[https://github.com/mapnik/pymapnik2/pull/4](https://github.com/mapnik/pymapnik2/pull/4)

2.0.1 (2012-05-06)

mapnik2 eggified Python绑定的第一个公开版本

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于[安装包](https://packaging.pythonlang.cn/tutorials/installing-packages/)的信息。

源分布

mapnik2-2.2.0.zip (12.4 MB 查看哈希)

上传时间 源代码

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面