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 visualstudio2019buildtools
cinst 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