python3 mmh3安装及使用方法

yipeiwu_com5年前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设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

tensorflow1.0学习之模型的保存与恢复(Saver)

将训练好的模型参数保存起来,以便以后进行验证或测试,这是我们经常要做的事情。tf里面提供模型保存的是tf.train.Saver()模块。 模型保存,先要创建一个Saver对象:如...

浅谈python中的getattr函数 hasattr函数

hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的...

python队列通信:rabbitMQ的使用(实例讲解)

python队列通信:rabbitMQ的使用(实例讲解)

(一)、前言 为什么引入消息队列? 1.程序解耦 2.提升性能 3.降低多业务逻辑复杂度 (二)、python操作rabbit mq rabbitmq配置安装基本使用参见上节文章,不再复...

python range()函数取反序遍历sequence的方法

python中的range函数取反序有两种方式 第一种:先构建一个列表,然后对列表中的元素进行反转。 例如: a=range(5) for i in reversed(a):...

深入解析Python中的变量和赋值运算符

深入解析Python中的变量和赋值运算符

Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以...