本文主要是介绍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++,因此会出现这个错误。
此时有两个解决方法:
- 是在visual studio网站上下载visual studio
- 下载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 解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!