Pip错误:需要Microsoft Visual C++ 14.0
Pip错误:需要Microsoft Visual C++ 14.0
我刚刚运行了以下命令:
pip install -U steem
安装过程进行得很顺利,直到无法安装pycrypto
为止。
之后我运行了以下命令:
pip install cryptography
因为我以为它是缺少的包。
所以我的问题是,如何在没有pycrypto错误(或者另外安装pycrypto包)的情况下安装steem
,以及如何卸载我不需要的cryptography包。
(我使用的是Windows 7和Python 3)
python-dateutil在c:\users\***\appdata\lo
cal\programs\python\python36\lib\site-packages中已经是最新版本(来自dateparser->maya->steem)
...
正在安装收集的软件包: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
运行setup.py安装pycrypto时出错...
命令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的输出完整内容如下:
正在安装
正在构建
正在构建_py
...
正在构建'Crypto.Random.OSRNG.winrandom'扩展
错误:需要 Microsoft Visual C++ 14.0。请使用“Microsoft Visual
C++ Build Tools”获取:http://landinghub.visualstudio.com/visual-cpp-build-tools
----------------------------------------
命令"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" 失败
,错误代码为1,在C:\Users\***N~1\AppData\Local\Temp\pip-build- k6flhu5k\p
ycrypto\中。
问题的原因是在Azure DevOps运行pip install命令时出现了错误,错误提示为"Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools""。出现这个错误的原因是源代码分发中包含了C++扩展,所以需要安装Microsoft Visual C++ 14.0。解决方法是在运行pip install之前先升级setuptools,具体命令为pip install --upgrade setuptools。这个解决方法在这里给出的建议也是正确的:https://packaging.python.org/tutorials/installing-packages/#ensure-pip-setuptools-and-wheel-are-up-to-date。同样的建议也在这里给出:https://wiki.python.org/moin/WindowsCompilers#Compilers_Installation_and_configuration。
问题的原因是缺少 Microsoft Visual C++ 14.0。解决方法是使用 Visual Studio Installer 修改已安装的 Visual Studio Build Tools,添加 Visual C++ build tools,并重新运行 pip 命令。
具体操作如下:
1. 打开 Visual Studio Installer(如果需要,在开始菜单中搜索它)。
2. 找到 Visual Studio Build Tools,并点击"Modify":
3. 在 Visual C++ build tools 选项前打勾,然后点击右下角的"Modify"按钮进行安装:
等待 C++ 工具安装完成后,重新运行 pip 命令,问题应该得到解决。
对于 VS 2019,可以在 VS 安装程序的 "Individual Components" 选项卡中找到这个选项,名称为 "MSVC v140 - VS2015 C++ Build Tools (v14.00)",需要下载 800 MB。
如果使用普通的 Windows 命令提示符进行操作,可以通过以下步骤完成:
1. 安装所有 C++ 选项和构建工具。
2. 重新启动计算机。
3. 升级 setuptools。
4. 如果仍然出现相同的错误消息,是否需要下载 Windows Universal CRT SDK?
如果喜欢使用 chocolatey(如我所做),可以使用以下命令安装这些软件包:
cinst visualstudio2019buildtools
cinst visualstudio2019-workload-vctools
2022版本的解决方法是选择"C++ build tools",它的图标与上述截图中的不同,同时需要接受7GB的安装。
为了运行一个仅有20行的Python脚本,被告知需要安装一个占用3.75GB空间的VS构建工具包。
在安装pycrypto时,需要安装Microsoft Visual C++ 14.0。以下是解决该问题的方法:
1. 首先,从"Microsoft Visual C++ Build Tools"下载Microsoft Visual C++ 14.0。下载链接为:http://landinghub.visualstudio.com/visual-cpp-build-tools。
2. 你可以使用这个链接:Visual C++ 2015 Build Tools。这将安装Visual C++ 14.0,而不需要安装Visual Studio。下载链接为:http://go.microsoft.com/fwlink/?LinkId=691126&fixForIE=.exe。
3. 如果以上链接不可用,可以尝试使用这个链接:Microsoft Visual C++ 14.2 standalone: Build Tools for Visual Studio 2019。下载链接为:https://wiki.python.org/moin/WindowsCompilers#Microsoft_Visual_C.2B-.2B-_14.2_standalone:_Build_Tools_for_Visual_Studio_2019_.28x86.2C_x64.2C_ARM.2C_ARM64.29。
4. 安装完Visual C++后,重新运行原始命令:pip install -U steem。
5. 如果你已经安装了steem库,可以在不使用-U选项的情况下运行命令。
请注意,为了确保你得到与你的Python版本兼容且未被植入后门的pycrypto版本,建议从源代码进行构建。
希望以上方法能够帮助你解决问题。