Pip 错误:需要 Microsoft Visual C++ 14.0

Posted

技术标签:

【中文标题】Pip 错误:需要 Microsoft Visual C++ 14.0【英文标题】:Pip error: Microsoft Visual C++ 14.0 is required 【发布时间】:2017-12-10 14:40:33 【问题描述】:

我刚刚运行了以下命令:

pip install -U steem

并且安装运行良好,直到无法安装pycrypto。 后来我做了

pip install cryptography

命令,因为我认为它是缺少的包。 所以我的问题是,如何在没有 pycrypto-error(或另外的 pycrypto-package)的情况下安装 steem,以及如何卸载我不需要的 cryptography-Package。 (我使用的是 Windows 7 和 Python 3)

Requirement already up-to-date: python-dateutil in c:\users\***\appdata\lo
cal\programs\python\python36\lib\site-packages (from dateparser->maya->steem)
...
Installing collected packages: urllib3, idna, chardet, certifi, requests, pycryp
to, funcy, w3lib, voluptuous, diff-match-patch, scrypt, prettytable, appdirs, la
ngdetect, ruamel.yaml, humanize, tzlocal, regex, dateparser, pytzdata, pendulum,
maya, ecdsa, pylibscrypt, ujson, toolz, steem
Running setup.py install for pycrypto ... error
Complete output from command c:\users\***\appdata\local\programs\pytho
n\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\
***~1\\AppData\\Local\\Temp\\pip-build-k6flhu5k\\pycrypto\\setup.py';f=getattr(
tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();
exec(compile(code, __file__, 'exec'))" install --record C:\Users\***N~1\AppDat
a\Local\Temp\pip-igpkll6u-record\install-record.txt --single-version-externally-
managed --compile:
running install
running build
running build_py
...
building 'Crypto.Random.OSRNG.winrandom' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual
C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

----------------------------------------
Command "c:\users\***\appdata\local\programs\python\python36\python.exe -u
-c "import setuptools, tokenize;__file__='C:\\Users\\***N~1\\AppData\\Local\\
Temp\\pip-build-k6flhu5k\\pycrypto\\setup.py';f=getattr(tokenize, 'open', open)(
__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code,   __fil
e__, 'exec'))" install --record C:\Users\***N~1\AppData\Local\Temp\pip-igpkll6
u-record\install-record.txt --single-version-externally-managed --compile"   faile
d with error code 1 in C:\Users\***N~1\AppData\Local\Temp\pip-build-    k6flhu5k\p
ycrypto\

【问题讨论】:

我终于解决了这个问题,如下所述:***.com/a/55575792/1612432 这能回答你的问题吗? Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat) 【参考方案1】:

安装pycrypto需要安装Microsoft Visual C++ 14.0:

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

在 cmets 中,您询问要使用哪个链接。使用Visual C++ 2015 Build Tools 的链接。这将在不安装 Visual Studio 的情况下安装 Visual C++ 14.0。

在 cmets 中,您询问了不需要安装编译器的安装 pycrypto 的方法。链接中的二进制文件似乎适用于比您使用的更早版本的 Python。一个链接指向 DropBox 帐户中的二进制文件。

我不建议下载第三方提供的加密库的二进制版本。保证您获得的pycrypto 版本与您的 Python 版本兼容且未使用任何后门构建的唯一方法是从源代码构建它。

安装完Visual C++后,重新运行原来的命令即可:

pip install -U steem

要了解各种安装选项的含义,请运行以下命令:

pip help install

-U 选项的帮助说明

-U, --upgrade        Upgrade all specified packages to the newest available
                     version. The handling of dependencies depends on the
                     upgrade-strategy used.

如果您尚未安装 steem 库,则可以运行不带 -U 选项的命令。

【讨论】:

感谢您的回答,大卫!因此,当我安装了 Visual C++ 时,我是否必须再次运行“pip install -U steem”-command 或者只是安装一些 pycrypto-command-thing? (我在问,因为我不想在我的计算机上安装两次错误之前安装的软件包。) 再次运行pip install -U steem 不会安装任何软件包两次。它将看到一些依赖项已经安装并跳过它们。之后,它将尝试再次安装pycrypto,其余的安装应该完成。 谢谢,大卫!我会按照你的描述再试一次。但是,我不知道从上面 url 中的站点下载哪个 Microsoft Visual C++ - 我需要 Visual C++ 2015 还是 2017 还是两者都包含 python 所需的 14.0 版本? 在这个被标记为重复的线程中,似乎有另一种在没有 Visual C++ 的情况下安装 pycrypto 的方法。但我对这些东西真的很陌生,没有得到那里写的解释。那么我应该如何继续才能安装 pip -U steem 而不会出错? 终于找到了一个仍在工作的 VS 14.0 构建工具的链接......谢谢!谢谢!谢谢!【参考方案2】:

如果您已经安装了 Visual Studio 构建工具,但仍然遇到该错误,那么您可能需要“修改”您的安装以包含 Visual C++ 构建工具。

这样做:

    打开 Visual Studio 安装程序(如果需要,您可以在开始菜单中搜索它)。

    找到 Visual Studio 构建工具并点击“修改”:

    在 Visual C++ 构建工具中添加复选标记,然后单击右下角的“修改”进行安装:

C++ 工具安装完成后,再次运行 pip 命令,它应该可以工作了。

【讨论】:

使用VS 2019,这个选项在VS安装程序的“Individual Components”选项卡中,名称为“MSVC v140 - VS2015 C++ Build Tools (v14.00)”,需要下载800 MB。 如何通过常规 windows cmd 执行此操作? 当您在构建工具安装程序上安装了所有 C++ 选项并重新启动和升级 setuptools 但仍然收到相同的错误消息时,有人知道该怎么做吗? @mins 需要下载windows universal crt sdk吗?总的来说,它需要我 3.64GB 的空间!!! @shs_sf 如果你喜欢使用 Chocolatey(就像我一样),那么你可以安装这些包:cinst visualstudio2019buildtoolscinst visualstudio2019-workload-vctools【参考方案3】:

即使在我的系统中安装了 Visual C++ 2015 (14.0),我在尝试安装 pymssql 时也遇到此错误。

我通过从here下载pymssql的.whl文件解决了这个错误。

下载后,可以通过以下命令安装:

pip install python_package.whl

希望对你有帮助

【讨论】:

当我遇到类似的错误时,我使用相同的方法来解决我的问题。谢谢~ asyncpg 包不在列表中。【参考方案4】:

在搜索“需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ 构建工具”获取它后,我遇到了这个问题。尝试运行 @987654323 时,我在 Azure DevOps 中遇到了这个错误@ 从具有 C++ 扩展的源代码分发中构建我自己的 Python 包。最后我所要做的就是在调用 pip install 之前升级 setuptools

pip install --upgrade setuptools

所以建议here 从源档案安装时更新setuptools 毕竟是正确的:)。 here 也给出了该建议。

【讨论】:

【参考方案5】:

我遇到了同样的问题。找到了修复here。

基本上只安装this。

shasum 输出:

3e0de8af516c15547602977db939d8c2e44fcc0b  visualcppbuildtools_full.exe

md5sum 输出:

MD5 (visualcppbuildtools_full.exe) = 8d4afd3b226babecaa4effb10d69eb2e

再次运行您的 pip 安装命令。如果一切正常,那就太好了。或者你可能会像我一样遇到以下错误:

Finished generating code
    LINK : fatal error LNK1158: cannot run 'rc.exe'
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1158

在这里找到了解决上述问题的方法: Visual Studio can't build due to rc.exe

基本上就是这样

Add this to your PATH environment variables:

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

Copy these files:

rc.exe
rcdll.dll

From

C:\Program Files (x86)\Windows Kits\8.1\bin\x86

To

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin

它就像一个魅力

【讨论】:

谢谢,上面终于为我解决了。不过有一个区别,我的文件夹名为 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin @MathiasThorsen 文件夹名称取决于您的 Visual Studio 版本,它们因版本而异。【参考方案6】:

作为安装 Visual C++ 的替代方法,有一种方法是在 Conda 中安装额外的包(此选项不需要管理员权限)。这对我有用:

conda install libpython m2w64-toolchain -c msys2

【讨论】:

谢谢。鉴于其他人提到了密码学支持,解释会很有帮助,只是要知道安装了什么以及为什么这是一个可接受的替代方案。盲目/随机地将库添加到计算机通常不是一个好的选择。也许还链接到原始来源,因为我想你没有发明解决方案。 爱你,伙计。我永远无法在 Windows 上解决这个问题。尝试在没有帮助的情况下下载 Microsoft 拥有的所有 C++ 编译器。尝试编辑一些环境变量以指向 Common7/Tools 路径,但没有成功。但这行得通。【参考方案7】:

Pycrypto 存在分配了CVE-2013-7459 编号的漏洞,并且该 repo 自June 23, 2014 以来未接受 PR。

Pycryptodome 是 PyCrypto 库的直接替代品,它公开了与旧 PyCrypto 几乎相同的 API,请参阅 Compatibility with PyCrypto。

如果您还没有安装 pycrypto,您可以使用pip install pycryptodome 安装 pycryptodome,您不会遇到 Microsoft Visual C++ 14.0 问题。

【讨论】:

【参考方案8】:

此处更新了下载 Microsoft Visual C++ 14.0 的链接

Download

它适用于我,无需 Visual Studio 下载器

【讨论】:

工作就像一个魅力。【参考方案9】:

在Windows上,我强烈建议安装最新的Visual Stuido Community,它是免费的,如果你只安装vc_redist,你可能会错过一些构建工具,所以你可以通过pip而不是wheel轻松安装包,它节省大量时间

【讨论】:

自 2020 年起安装 VS 社区并不能阻止看到此错误。但也许您需要安装 C++“工作负载”,而我没有。【参考方案10】:

Killer 解决方案:安装nodejs 并勾选install chocolatey and other necessary tools... 选项,它将安装设置开发环境所需的工具。

【讨论】:

【参考方案11】:

尝试这样做:

py -m pip install pipwin
py -m pipwin install PyAudio

【讨论】:

这应该被接受的答案 这是什么包?【参考方案12】:

让我们一劳永逸地解决这个问题(仅限 Anaconda 设置),尝试:

conda install -c conda-forge 隐式

【讨论】:

Conda 不是 pip/MS 构建工具问题的解决方案。 仅与 Conda 环境相关的解决方案

以上是关于Pip 错误:需要 Microsoft Visual C++ 14.0的主要内容,如果未能解决你的问题,请参考以下文章

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

win10 64位 python3.6 django1.11 MysqlDB No module named 'MySQLdb' 安装MysqlDB报错 Microsoft Visua

即使安装了 Microsoft Visual C++ 14.0 也会出现 Pip 错误

使用pip安装Twisted for Python:错误:Microsoft Visual Studio失败,退出状态为2

Scrapy安装提示错误Microsoft Visual C++ 14.0 is required的解决方法

Microsoft Visual C ++ 14.0需要在已安装Visual Studio 2017的地方安装