pip install sasl安装报错 —— "Microsoft Visual C++ 14.0 is required"

问题背景

    这个问题是在Windows7上安装pyhive时遇到的。因为安装 pyhive 要依赖 sasl 模块,在 pip install sasl 时报了这样一个 “缺少Microsoft Visual C++编译器” 的错误。
 
 
以下是在执行 pip install sasl 时出现的一系列问题以及解决方法
 
 

问题一

报错信息如下:
    error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”:
https://visualstudio.microsoft.com/downloads.

原因:
    虽然Python是一种解释性语言,但是在某些情况下可能需要安装Windows C++编译器。与Linux不同的是,Windows编译器在默认情况下是不包含在操作系统中的。这就需要我们自己安装了。微软提供了官方的C++编译器Visual C++,它是和Visual Studio捆绑在一起的。那么我们最终选择一个包含Visual C++ 14.0的Visual Studio来安装,这里选择的是Visual Studio 2017的版本。

在安装Visual Studio 2017之前,建议先更新 pip install --upgrade setuptools。官方说是它包含兼容性的改进和添加编译器的自动使用。

官方下载地址:https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2017-relnotes#15.9.14 。 打开网址后,下载免费的社区版本即可。pip install sasl安装报错 ——
安装时,注意要勾选的选项,“工作负载” ——> Windows一栏勾选 “使用 C++ 的桌面开发” 、Web和云一栏勾选Python开发,如下:
pip install sasl安装报错 —— 要下载的文件比较大,有7G左右,耗时较长。其他步骤默认即可。
 
 

问题二

问题一处理之后,再次安装sasl时,你可能会继续遇到第二个问题:ImportError: DLL load failed: 找不到指定的程序。

解决方法:用Python安装根目录下的 python3.dll 文件替换PyCharm工程\venv\Scripts目录下的同名文件。具体原因不太明确,可能是要加载的DLL文件不不匹配?
 
 

问题三

第二个问题解决之后,继续执行pip install sasl,你可能又会遇到第三个问题:…\pip-install-wrsldjm1\sasl\sasl\saslwrapper.h(22): fatal error C1083: 无法打开包括文件: “sasl/sasl.h”: No such file or directory

解决方法:到这个网站 https://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl下载对应你所用Python版本和Windows版本的文件。比如我下载的是 sasl‑0.2.1‑cp36‑cp36m‑win_amd64.whl,对应我用的Python 3.6和64位的Windows系统。
 
 
最后,解决完这几个问题,就可以成功的安装sasl了。
 
 

参考

  1. WindowsCompilers

你可能感兴趣的:(Python)