安装Python包时如何解决“错误:需要Microsoft Visual C++ 14.0或更高版本”?

148

我正在尝试在Python上安装一个软件包,但是Python在安装软件包时出现了错误。每次我尝试安装 pip install google-search-api 时都会出现错误。

这是错误信息,请问如何成功安装它?

error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 

我已经更新了,并且拥有最新的14.27版本,但问题仍然会出现同样的错误。


2
FrozenAra,问题是我已经更新了,而且拥有最新的14.27版本,但问题仍然会抛出相同的错误。 - wloleo
1
然后请将该信息添加到您的帖子中。并且请尝试重新格式化您的问题,使其更易读。 - FrozenAra
1
Python 3.10.2 (Win10)出现了完全相同的问题。下载Build Tools 2019并重新启动计算机后,问题得到解决。pip install ml-python也完美地运行了。 - Vaggelis Manousakis
1
对我来说,这似乎是错误的,因为我需要安装它才能运行Python包,特别是因为它一直试图向我推销Visual Studio和其他垃圾。 - xjcl
有了安装的vs_build_tools 2019和WIN10SDK,scipy的wheel也可以构建(尽管scikit-learn还没有 - 需要linux-lib的依赖项,但在Windows中不需要)。 - JeeyCi
显示剩余3条评论
12个回答

216

点击以下链接下载Microsoft C++ Build Tools:
https://visualstudio.microsoft.com/visual-cpp-build-tools/

enter image description here

打开安装程序,然后按照步骤操作。

如果您看到类似下面这个的东西,请直接下载或者继续进行:

MSBT

如果上述更新无效,则需要在此处进行配置或者更新。您也可以通过点击 "Modify" 进行一些更新。

检查并下载您所需要的内容,您可能需要像错误提示中所说的那样更新Microsoft Visual C++,但是我建议您更新所有内容,因为这些内容在您未来的程序中可能仍然需要使用。我认为其中包括C ++,因为我以前做过相同的事情,并且在安装用于创建WorldCloud可视化的Python软件包时遇到了类似的问题。

C++ Build tools


更新:2020年12月28日

您也可以按照以下步骤进行操作:

  1. 选择:“Workloads → Desktop development with C++”
  2. 然后对于单个组件,仅选择:
    • Windows 10 SDK
    • C++ x64/x86 build tools

您也可以使用以下命令自动完成相同的过程:

vs_buildtools.exe --norestart --passive --downloadThenInstall --includeRecommended --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Workload.MSBuildTools

Reference:
https://www.scivision.dev/python-windows-visual-c-14-required


62
它的安装文件大小为6.74GB,这听起来正确吗? - Frank
34
老实说,像这样需要手动解决的二进制依赖关系是人们讨厌 Python 包管理生态系统或任何支持这种鬼东西的包管理系统的原因。 - omni
5
更新很大,但是它很有效。 - Kshitij Agarwal
10
Python真是太可惜了...需要下载6GB的内容... - WitnessTruth
4
一些注意事项: 最终你不得不咬咬牙安装超大的7GB+的Visual Studio相关构建包。对于我尝试安装微小的Python C项目这里,你必须(据我所知)选择C++ Build tools工作负载,并且要针对你已经拥有的VS版本(2019、2022)进行选择。我使用的是2019社区版,安装2022的构建工具无法正常工作。 - not2qubit
显示剩余18条评论

4

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community
可能是因为这些轮子已经为之前的Python版本构建好了。 - undefined

4

2020年-Visual C++的redist/build工具

可以使用以下两个命令进行无人值守安装:

vs_buildtools__370953915.1537938681.exe --quiet --add Microsoft.VisualStudio.Workload.VCTools

并且
VC_redist.x64.exe  /q /norestart

0
想评论一下xlc的方法(无法评论),因为它对我有效。我使用的是带有Python 3.11.4的conda虚拟环境。当我尝试安装TA-Lib时,出现了一个错误:
引用错误:需要Microsoft Visual C++ 14.0或更高版本。使用“Microsoft C++ Build Tools”获取它:https://visualstudio.microsoft.com/visual-cpp-build-tools/ [输出结束]
由于体积达到6GB,下载构建工具对我来说不是一个选择。以下是对我有效的方法:
  • https://www.lfd.uci.edu/%7Egohlke/pythonlibs/#multidict,发现有适用于Python 3.10的.whl文件(TA_Lib‑0.4.24‑cp310‑cp310‑win_amd64.whl适用于x64系统)
  • 将我的环境降级到3.10版本
  • 从上述链接下载了适当的.whl文件
  • 在Anaconda提示符中使用pip install directory_wheel直接安装了该wheel

还参考了这个链接>https://dev59.com/d30QtIcB2Jgan1znXQ1e


0
这个错误可能发生在使用最新版本的Python(例如3.12)时,因为包的wheels只适用于早期版本的Python。所以你需要自己构建它们。
幸运的是,你可以下载由第三方构建并在线共享的wheels,网址如下:
- [https://www.lfd.uci.edu/~gohlke/pythonlibs/](https://www.lfd.uci.edu/~gohlke/pythonlibs/)
这样做可以实现以下目的:
- 避免下载几GB的Visual Studio Build Tools - 避免降级你的Python版本
通常,如果错误信息如下所示:
Failed to build frozenlist multidict

然后你应该下载:
  • frozenlist: frozenlist‑1.3.0‑py3‑none‑any.whl
  • multidict: multidict‑6.0.2‑py3‑none‑any.whl

然后在本地运行:

pip install .\frozenlist-1.3.0-py3-none-any.whl
pip install .\multidict-6.0.2-py3-none-any.whl 

终于,恢复之前失败的安装进程:
pip install -r .\requirements.txt 

这次安装应该会成功。

0
除了@ice bear的验证答案之外,只需在下载和安装最新的Visual Studio构建工具后重新启动系统。然后你可能会遇到的错误就会消失!

这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Trooper Z

0
安装了所有的C++依赖项后,问题并没有得到解决,因为在我的情况下,问题出在Python版本上。我使用的是Python 11.x,并且正在使用langchain-Chroma模块。Chroma支持Python 10.x。

0

当我使用virtualenv时,遇到了上述问题。改用conda环境解决了这个问题。Conda会自动安装vs2015_runtime,可以顺利编译wheels。


-1
  1. 使用以下命令升级pip:python -m pip install --upgrade pip
  2. 使用以下命令升级wheel:pip install --upgrade wheel
  3. 使用以下命令升级setuptools:pip install --upgrade setuptools
  4. 关闭终端
  5. 再次尝试安装包。

14
对我来说在Windows 11上它无法工作。 - Muhammad Umair
42
这种方法与缺少的构建工具无关。 - seghier
4
对我不起作用。 - user229257
这在Windows 10上没有起作用。 - Darwin
对于像我这样的新手来说,禁用Microsoft Store中的Python存根非常重要(在Windows 11上,转到“设置”,然后搜索别名,或导航到“应用程序”,“高级应用程序设置”,“应用程序执行别名”),然后确保Python二进制文件和脚本文件夹都在您的路径中。这是Python311的PowerShell配置文件条目: $Env:Path += ";C:\Users{user}\AppData\Local\Programs\Python\Python311;C:\Users{user}\AppData\Local\Programs\Python\Python311\Scripts" - Darek
显示剩余3条评论

-2

检查是否安装了旧版本的Microsoft Visual C++。如果有,请卸载它们。


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

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