voro++(http://math.lbl.gov/voro++/)是一个非常实用的基于C++进行三维Voronoi tessellation的工具。今天发现一个python版本,基于voro++,简单实用,并且可以进行二维的Voronoi tessellation。安装在anaconda的时候出现了一些问题,在这里备注一下。
本人使用电脑的操作系统是Ubuntu 14.04,IDE是anaconda下的spyder。
1. 先从github上下载pyvoro的源码。
https://github.com/joe-jordan/pyvoro
2. 在anaconda中的lib下:
python3 setup.py install
3 在spyder下测试,比如直接import pyvoro会出现如下错误:
import voroplusplus
File "voroplusplus.pyx", line 36, in init pyvoro.voroplusplus (pyvoro/voroplusplus.cpp:2696)
SystemError: Parent module '' not loaded, cannot perform relative import
解决:
进入pyvoro在anaconda下的site-packages路径
~/anaconda3/lib/python3.5/site-packages/pyvoro-1.3.3-py3.5-linux-x86_64.egg/pyvoro
打开__init__.py文件,将
import voroplusplus 改为 from . import voroplusplus
之后成功运行,下图为一个典型的regular tessellation