【问题标题】:Error while installing lxml through pip: Microsoft Visual C++ 14.0 is required通过 pip 安装 lxml 时出错:需要 Microsoft Visual C++ 14.0
【发布时间】:2020-08-31 23:54:58
【问题描述】:

我在 Windows 10 机器上,最近从 python 2.7 迁移到 3.5。尝试通过 pip 安装 lxml 时,它会停止并抛出此错误消息 -

构建“lxml.etree”扩展
错误:需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ Build Tools”获取它:http://landinghub.visualstudio.com/visual-cpp-build-tools

我安装了 VS 2015 的工作副本。当我尝试通过该链接安装可视化 cpp 工具时,它表示机器上已经安装了 Microsoft Visual Studio 2015。我还尝试安装 64 位和 32 位版本的 Visual Studio C++ 2015 Redistributables,但他们都说已经安装了另一个版本的产品。
在命令提示符下键入 set 包括这个 -

VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\

这意味着路径已设置。
这可能是我可以在 SO 上找到的唯一资源,但答案建议从 3.5 回滚到 Python 3.4.3。有没有人解决过此类问题?
Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)
编辑:我设法使用预编译的二进制文件安装它(感谢 Paul),但我仍然想知道是什么原因造成的。

【问题讨论】:

标签: python visual-c++ pip lxml


【解决方案1】:
  1. 运行pip install wheel
  2. http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载lxml,如果你的python版本是3.5,请下载lxml-3.6.4-cp35-cp35m-win32.whl
  3. 运行python -m pip install lxml-3.6.4-cp35-cp35m-win32.whl

【讨论】:

    【解决方案2】:

    您是否检查过在安装 Visual Studio 时是否安装了 C++ 编译器?这似乎是一个愚蠢的问题,但这是我犯的错误。通过进入 Visual Studio 的设置进行检查(程序和功能:修改“Visual Studio 2015”),然后在 Programming Languages->VC++ 下,确保它被勾选。

    【讨论】:

    • 太棒了,做到了。谢谢,+1。
    • 我想我一定已经安装了 C++ 并且在放弃尝试之前经历了一些其他的解决方案。意识到当我最初安装 Visual Studio 时,它是用于 C# 和 android 模拟器的。我将 C++ 关闭以节省磁盘空间。所以我给别人的 0.02 美元并不是为了不予理会。​​span>
    【解决方案3】:

    遇到同样的问题,注意到我在 64 位机器上安装了 32 位版本。我所做的只是卸载错误的版本并安装正确的版本,它运行良好。

    【讨论】:

      【解决方案4】:

      我找到了另一个解决方案来解决这个问题: 因为我用的是anaconda python,所以我用这段代码:

      conda install -c conda-forge scrapy
      

      【讨论】:

        【解决方案5】:

        第一:

        pip install wheel
        

        第二:去http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 并下载合适的*。

        pip install 您下载的文件 (.whl)。

        【讨论】:

          【解决方案6】:

          我和你有同样的问题!我找到了一种不需要安装vs2015的方法,也许,你只是没有安装twis​​ted。http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted.download twisted --version(Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl)(可能是win_amd32.whl if 64didn 't work),然后运行:pip PATH + filename

          pip install C:\Users\CR\Downloads\Twisted-17.5.0-cp36-cp36m-win_amd64.whl
          
          pip install Scrapy
          

          我刚刚安装成功!祝你好运!

          我安装 scrapy 的步骤: 1.pip安装* 2.pip安装lxml 3.pip安装pyOpenSSL 4.pip install Twisted (fault->do like above) 5.安装pywin32格式:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 6.pip Scrapy(成功)

          【讨论】:

            【解决方案7】:

            作为对上述@davidsheldon 答案的更新,如果您想使用 Visual Studio Build Tools 2017 而不是 2015,它将起作用。

            我发现单独安装构建工具的默认安装是不够的,但是,我添加了 `VC++ 2015.3 ... toolset for desktop (x86,x64) 然后 python 很高兴:

            【讨论】:

            • 感谢截图,非常有帮助!在 Visual Studio 2019 Build Tools 中,该包名为“MSVC v140 - VS 2015 C++ build tools (v14.00)”