mmh3模块加载Microsoft Visual C++14.0已安装仍报cl.exe command not found:No such file or directiory 解决方法

本文主要是介绍mmh3模块加载Microsoft Visual C++14.0已安装仍报cl.exe command not found:No such file or directiory 解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

今天在做布隆滤波器时需要universial hash,python的mmh3模块正好提供了universial hash函数,于是进行mmh3模块加载,但没想到遇到诸多问题,所以写下来希望能帮到其他人。

仔细看报错信息:

 error:Microsoft Visual C++ 14.0 is required. Get it with "Microsoft  ": http://landinghub.visualstudio.com/visual-cpp-build-tools

Python有些模块需要c++接口,而在我这个电脑没有相应的Microsoft Visual C++,因此会出现这个错误。

此时有两个解决方法:

  1. 是在visual studio网站上下载visual studio
  2. 下载Microsoft Visual C++ Build Tools

由于visual studio过大,于是选择下载Microsoft Visual C++ Build Tools

注意:下载完 Microsoft Visual C++ Build Tools之后,要么将C:\Program Files (x86)\Microsoft Visual C++ Build Tools路径添加到环境变量的path中,然后在cmd上pip install 你所要下载的模块,这个方法稍微麻烦了点

要么进入C:\Program Files (x86)\Microsoft Visual C++ Build Tools选择Visual C++ 2015 x64 Native Build Tools Command Prompt 或者 Visual C++ 2015 x86 Native Build Tools Command Prompt . 这取决你系统的架构,如果你的系统是64位请选择前者,32位请选择后者,然后执行pip install命令

一般到这一阶段就可以安装成功了,当然可能有人遇到和我一样的情况

 

 

 

明明已经在Visual C++ 2015 x86 Native Build Tools Command Prompt 窗口内进行pip install ,仍显示command cl.exe failed:No such file or directory

而查看环境变量已经有自动添加Visual C++ 2015 x86 Native Build Tools Command Prompt对应的环境变量

我几乎看遍所有解决方法,几乎都是下载Microsoft Visual C++ Build Tools,进入Visual C++ 2015 x86 Native Build Tools Command Prompt 进行install

眼下还有两种方法:1.下载visual studio进行尝试

2.在虚拟机上安装linux系统来下载mmh3模块,因为linux系统安装c++模块比较方便

 

本人采用第一种,于是有以下报错………

 

 

仔细看报错信息,cl.exe问题解决了,但有几个关键信息:

MurmurHash3.cpp

    MurmurHash3.cpp(117): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

    MurmurHash3.cpp(178): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

    MurmurHash3.cpp(179): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

    MurmurHash3.cpp(180): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

    MurmurHash3.cpp(181): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

    MurmurHash3.cpp(279): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

MurmurHash3.cpp(280): warning C4244: 'argument': conversion from 'Py_ssize_t' to 'int', possible loss of data

 mmh3module.obj : warning LNK4197: export 'PyInit_mmh3' specified multiple times; using first specification

以上都是warning,如可能会丢失数据啥的,都是小事情,不影响,关键是下面的报错信息

LINK : fatal error LNK1158: cannot run 'rc.exe'

error:command'C:\\ProgramFiles (x86)\\Microsoft Visual Studio 14.0\\VC\\Bin\\amd64\\link.exe' failed with exit status 1158

ERROR: Failed building wheel for mmh3

 

针对LINK : fatal error LNK1158: cannot run 'rc.exe'

error:command'C:\\ProgramFiles (x86)\\Microsoft Visual Studio 14.0\\VC\\Bin\\amd64\\link.exe' failed with exit status 1158

从此路径
C:\Program Files (x86)\Windows Kits\8.1\bin\x86复制rc.exe rcdll.dll两个文件到vs的目录。我的是vs的默认安装目录:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin。默认安装的应该都是这样。

问题解决!!!

这篇关于mmh3模块加载Microsoft Visual C++14.0已安装仍报cl.exe command not found:No such file or directiory 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/464833

相关文章

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

python 线程池顺序执行的方法实现

《python线程池顺序执行的方法实现》在Python中,线程池默认是并发执行任务的,但若需要实现任务的顺序执行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录方案一:强制单线程(伪顺序执行)方案二:按提交顺序获取结果方案三:任务间依赖控制方案四:队列顺序消

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C#高效实现Word文档内容查找与替换的6种方法

《C#高效实现Word文档内容查找与替换的6种方法》在日常文档处理工作中,尤其是面对大型Word文档时,手动查找、替换文本往往既耗时又容易出错,本文整理了C#查找与替换Word内容的6种方法,大家可以... 目录环境准备方法一:查找文本并替换为新文本方法二:使用正则表达式查找并替换文本方法三:将文本替换为图