python3 mmh3安装及使用方法

yipeiwu_com6年前Python基础

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~'

总结

以上所述是小编给大家介绍的python3 mmh3安装及使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python通过正则查找微博@(at)用户的方法

本文实例讲述了python通过正则查找微博@(at)用户的方法。分享给大家供大家参考。具体如下: 这段代码用到了python正则的findall方法,查找所有被@的用户,使用数组形式返回...

PyQt5每天必学之布局管理

PyQt5每天必学之布局管理

在GUI编程中有一个不容忽视的部分,那就是布局管理。布局管理掌控着我们的控件在应用程序窗口如何摆放。布局管理可以通过两种方式来完成。我们可以使用绝对定位或布局类两种方法控制程序窗口中的控...

Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

最近在弄一个项目分析的时候,看到有一个后缀为”.sqlite”的数据文件,由于以前没怎么接触过,就想着怎么用python来打开并进行数据分析与处理,于是稍微研究了一下。 SQLite是一...

解决phantomjs截图失败,phantom.exit位置的问题

刚刚学习使用phantomjs,根据网上帖子自己手动改了一个延时截图功能,发现延时功能就是不能执行,最后一点点排查出了问题。 看代码: var page = require('web...

Python在groupby分组后提取指定位置记录方法

Python在groupby分组后提取指定位置记录方法

在进行数据分析、数据建模时,我们首先要做的就是对数据进行处理,提取我们需要的信息。下面为大家介绍一些groupby的用法,以便能够更加方便地进行数据处理。 我们往往在使用groupby进...