通过pip安装lxml时出现错误:需要Microsoft Visual C++ 14.0

21
我在Windows 10上,最近从Python 2.7转换到3.5。当尝试通过pip安装lxml时,它会停止并抛出此错误消息-

building 'lxml.etree' extension
error: 需要Microsoft Visual C++ 14.0。请使用“Microsoft Visual C++ Build Tools”获取:http://landinghub.visualstudio.com/visual-cpp-build-tools

我已经安装了VS 2015的可用副本。当我尝试通过该链接安装Visual CPP工具时,它说Microsoft Visual Studio 2015已经安装在计算机上。我还尝试安装Visual Studio C++ 2015可再发行版,包括64位和32位版本,但都说已经安装了产品的另一个版本。
在命令提示符中输入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(无法找到vcvarsall.bat)
编辑:我成功安装了预编译的二进制文件(感谢Paul),但我仍想知道是什么原因导致了这个问题。

获取预编译的lxml二进制文件。http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml - Paul Rooney
2
但这只是一个解决方法,对吧?我也想知道为什么会出现错误,即使我已经安装了所有东西并设置了路径。不过,如果我找不到其他的解决方法,我会安装二进制文件的,谢谢! - Zeokav
1
错误:需要 Microsoft Visual C++ 14.0。请使用“Microsoft Visual C++ Build Tools”获取它:http://landinghub.visualstudio.com/visual-cpp-build-tools我在安装 mysqlclient 时也遇到了完全相同的问题。无论是解决方法还是正确的解决方案都可以。 - wadhwa94
也许这可以帮助你 https://dev59.com/uF0a5IYBdhLWcg3w48BP#55575792 - Alejandro Alcalde
请参考以下内容:或者这个链接:https://dev59.com/PVcP5IYBdhLWcg3wAmOy - sophros
8个回答

28
你安装Visual Studio时有没有安装C++编译器?这似乎是个愚蠢的问题,但这是我犯过的错误。请通过进入Visual Studio的设置(程序和功能:修改“Visual Studio 2015”),然后在编程语言->VC++下确认是否已选中来检查。

Visual Studio Installer


1
我原以为我已经安装了C++,在尝试了其他几种解决方案后放弃并尝试了这个。后来才意识到,当我最初安装Visual Studio时,是为了C#和Android模拟器而不是C++,因此我没有安装C++以节省磁盘空间。所以我的建议是不要轻易忽略这个问题。 - LetMyPeopleCode

10
  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
注:以上为IT技术相关内容,涉及软件安装,请用户按照提示操作。

我认为这是更好的解决方案,如果你不需要它,可以避免安装Visual Studio。 - Rural Hunter

6
作为对@davidsheldon的回答的更新,如果您想使用Visual Studio Build Tools 2017而不是2015,则可以使用它。
我发现独立构建工具的默认安装并不足够,但是我添加了“VC++ 2015.3…桌面工具集(x86,x64)”,然后Python就可以正常运行了。

Screenshot showing the installation screen for Visual Studio 2017


谢谢提供截图,非常有帮助!在Visual Studio 2019 Build Tools中,该软件包称为“MSVC v140 - VS 2015 C++构建工具(v14.00)”。 - Steven B.

2

我找到了另一种解决方案来解决这个问题: 由于我使用的是Anaconda Python,所以我使用了以下代码:

conda install -c conda-forge scrapy

1

我和你有同样的问题!我找到了一种方法,不需要安装vs2015,可能是因为你没有安装twisted。http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted。下载 twisted --version(Twisted‑17.5.0‑cp36‑cp36m‑win_amd64.whl)(如果 64 位无法使用,则可能是 win_amd32.whl),然后运行:pip PATH + 文件名

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

pip install Scrapy

我刚安装成功了!祝您好运!

我的Scrapy安装步骤: 1. pip安装wheel 2. pip安装lxml 3. pip安装pyOpenSSL 4. pip安装Twisted(失败->像上面那样做) 5. 安装pywin32:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 6. pip安装Scrapy(成功)


0

我曾经遇到同样的问题,并发现我在64位机器上安装了32位版本。我所做的就是卸载错误的版本并安装正确的版本,然后它就正常工作了。


0

最简单的实现方式,可以自动化,因为它不需要用户输入:

python -m pip install https://download.lfd.uci.edu/pythonlibs/archived/lxml-4.9.0-cp311-cp311-win_amd64.whl

这将在您的计算机上安装64位版本。


-2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接