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

相关文章

ubuntu20.0.4系统中安装Anaconda的超详细图文教程

《ubuntu20.0.4系统中安装Anaconda的超详细图文教程》:本文主要介绍了在Ubuntu系统中如何下载和安装Anaconda,提供了两种方法,详细内容请阅读本文,希望能对你有所帮助... 本文介绍了在Ubuntu系统中如何下载和安装Anaconda。提供了两种方法,包括通过网页手动下载和使用wg

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

如何在Ubuntu上安装NVIDIA显卡驱动? Ubuntu安装英伟达显卡驱动教程

《如何在Ubuntu上安装NVIDIA显卡驱动?Ubuntu安装英伟达显卡驱动教程》Windows系统不同,Linux系统通常不会自动安装专有显卡驱动,今天我们就来看看Ubuntu系统安装英伟达显卡... 对于使用NVIDIA显卡的Ubuntu用户来说,正确安装显卡驱动是获得最佳图形性能的关键。与Windo

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏

Pandas进行周期与时间戳转换的方法

《Pandas进行周期与时间戳转换的方法》本教程将深入讲解如何在pandas中使用to_period()和to_timestamp()方法,完成时间戳与周期之间的转换,并结合实际应用场景展示这些方法的... 目录to_period() 时间戳转周期基本操作应用示例to_timestamp() 周期转时间戳基

在 PyQt 加载 UI 三种常见方法

《在PyQt加载UI三种常见方法》在PyQt中,加载UI文件通常指的是使用QtDesigner设计的.ui文件,并将其转换为Python代码,以便在PyQt应用程序中使用,这篇文章给大家介绍在... 目录方法一:使用 uic 模块动态加载 (不推荐用于大型项目)方法二:将 UI 文件编译为 python 模

C++类和对象之初始化列表的使用方式

《C++类和对象之初始化列表的使用方式》:本文主要介绍C++类和对象之初始化列表的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C++初始化列表详解:性能优化与正确实践什么是初始化列表?初始化列表的三大核心作用1. 性能优化:避免不必要的赋值操作2. 强