最近在学习Python,当然就学到了布隆过滤器pybloomfilter,然而安装的过程很曲折,搞了两天才解决。网络课程和网上搜索提供的安装办法无非是让从github上下载个pybloomfiltermmap-master包,解压到本地后通过命令行进入该包下,然后使用python setup.py install执行安装命令,命令执行如下:
网上的解决办法基本上都是一下两种:
- 第一种:电脑上安装了VS2008,找到“python安装目录/Lib/distutils/msvc9compiler.py”文件,找到find_vcvarsall函数,在该函数开头添加version =VS版本号,例如使用VS2013,则version = 12.0
- 第二种:电脑没有安装VS2008,还可以在环境变量中添加项 VS90COMNTOOLS,值为“VS安装路径\Common7\Tools”,例如D:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools,也可在控制输入: SET VS90COMNTOOLS=%VS120COMNTOOLS%
这两种方法都试了还是不能安装,原因是下载的pybloomfilter都是Linux版本的,需要在linux上编译才可通过。后来无意间看到一篇同样问题在Stack Overflow上的回答,试了一下果然解决了问题,纳闷为嘛搜到的中文的解决办法千篇一律都是上面的…..
Stack Overflow上的回答如下:
this problem looks like one “sys/mman.h:No such file or directory” And is a Unix header and is not available on Windows.
I suggest you should ues pybloom instead on windows:
pip install pybloom
and you should use the package like this:
from pybloom import BloomFilter