python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python的mmh3库

关于python的mmh3库安装以及使用详解

作者:盏茶y

这篇文章主要介绍了关于python的mmh3库安装以及使用详解,哈希方法主要有MD、SHA、Murmur、CityHash、MAC等几种方法,mmh3全程murmurhash3,是一种非加密的哈希算法,常用于hadoop等分布式存储情境中,需要的朋友可以参考下

mmh3安装方法

哈希方法主要有MD、SHA、Murmur、CityHash、MAC等几种方法。

mmh3全程murmurhash3,是一种非加密的哈希算法,常用于hadoop等分布式存储情境中,在anaconda中安装使用命令

pip install mmh3

问题1

在这里插入图片描述

报错如下:

Microsoft Visual C++ 14.0 is required

显示缺少C++ 14的库文件,选择登录网站 https://visualstudio.microsoft.com/downloads/ 下载Visual Studio2015,自动安装后运行

pip install mmh3

问题2

在这里插入图片描述

报错如下:

error: command 'cl.exe' failed: No such file or directory

在Visual Studio Installer中(工具栏-获取工具与功能),选择添加红框标注功能

在这里插入图片描述

在这里插入图片描述

其他说明

建议安装的版本的Visual Studio2015,因为2015对应的是C++ 14的版本,如果是python2的mmh3需要对应C++ 9的版本,这主要是因为python2是基于C++ 9编译的

python3是基于C++ 14编译的,亲测安装VS2019并没有解决C++ 14缺失的问题。

mmh3使用

在这里插入图片描述

样例:

>>> import mmh3
>>> mmh3.hash('foo') 
# 32 bit signed int
-156908512
>>> mmh3.hash('foo', 42) 
# uses 42 for its seed
-1322301282
>>> mmh3.hash('foo', signed=False) 
# 32 bit unsigned int (since Version 2.5)
4138058784
>>> mmh3.hash64('foo') 
# two 64 bit signed ints (by using the 128-bit algorithm as its backend)
(-2129773440516405919, 9128664383759220103)
>>> mmh3.hash64('foo',signed =False)                    
 #  two 64 bit unsigned ints
(16316970633193145697, 9128664383759220103)
>>> mmh3.hash128('foo', 42)                                    
# 128 bit unsigned int
215966891540331383248189432718888555506
>>> mmh3.hash128('foo', 42, signed = True)            
# 128 bit signed int
-124315475380607080215185174712879655950
>>> mmh3.hash_bytes('foo')                                     
# 128 bit value as bytes
'aE\xf5\x01W\x86q\xe2\x87}\xba+\xe4\x87\xaf~'

到此这篇关于关于python的mmh3库安装以及使用详解的文章就介绍到这了,更多相关python的mmh3库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

阅读全文