Pip error: Microsoft Visual C++ 14.0 is required

Question:

I just ran the following command:

pip install -U steem

and the installation worked well until it failed to install pycrypto.
Afterwards I did the

pip install cryptography

command because I thought it was the missing package.
So my question is, how I can install steem without the pycrypto-error (or the pycrypto-package in addition) and how to uninstall the cryptography-Package which I don’t need.
(I’m using Windows 7 and Python 3)

Requirement already up-to-date: python-dateutil in c:users***appdatalo
calprogramspythonpython36libsite-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***appdatalocalprogramspytho
npython36python.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('rn', 'n');f.close();
exec(compile(code, __file__, 'exec'))" install --record C:Users***N~1AppDat
aLocalTemppip-igpkll6u-recordinstall-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***appdatalocalprogramspythonpython36python.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('rn', 'n');f.close();exec(compile(code,   __fil
e__, 'exec'))" install --record C:Users***N~1AppDataLocalTemppip-igpkll6
u-recordinstall-record.txt --single-version-externally-managed --compile"   faile
d with error code 1 in C:Users***N~1AppDataLocalTemppip-build-    k6flhu5kp
ycrypto
Asked By: Studentu

||

Answers:

You need to install Microsoft Visual C++ 14.0 to install pycrypto:

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

In the comments you ask which link to use. Use the link to Visual C++ 2015 Build Tools. That will install Visual C++ 14.0 without installing Visual Studio.

Alternate link: https://wiki.python.org/moin/WindowsCompilers#Microsoft_Visual_C.2B-.2B-_14.2_standalone:_Build_Tools_for_Visual_Studio_2019_.28×86.2C_x64.2C_ARM.2C_ARM64.29

In the comments you ask about methods of installing pycrypto that do not require installing a compiler. The binaries in the links appear to be for earlier versions of Python than you are using. One link is to a binary in a DropBox account.

I do not recommend downloading binary versions of cryptography libraries provided by third parties. The only way to guarantee that you are getting a version of pycrypto that is compatible with your version of Python and has not been built with any backdoors is to build it from the source.

After you have installed Visual C++, just re-run the original command:

pip install -U steem

To find out what the various install options mean, run this command:

pip help install

The help for the -U option says

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

If you do not already have the steem library installed, you can run the command without the -U option.

Answered By: user3657941

I got this error when I tried to install pymssql even though Visual C++ 2015 (14.0) is installed in my system.

I resolved this error by downloading the .whl file of pymssql from here.

Once downloaded, it can be installed by the following command :

pip install python_package.whl

Hope this helps

Answered By: JKC

On Windows, I strongly recommand installing the latest version of Visual Studio Community. It’s free, you will maybe miss some build tools if you only install vc_redist, so you can easily install package by pip instead of wheel, it save lot of time.

Answered By: Alen Lee

If you already have Visual Studio Build Tools installed but you’re still getting that error, then you may need to “Modify” your installation to include the Visual C++ build tools.

To do that:

  1. Open up the Visual Studio Installer (you can search for it in the Start Menu if needed).

  2. Find Visual Studio Build Tools and click “Modify”:

enter image description here

  1. Add a checkmark to Visual C++ build tools and then click “Modify” in the bottom right to install them:

enter image description here

After the C++ tools finish installing, run the pip command again and it should work.

Answered By: Pikamander2

I faced the same problem. Found the fix here.

Basically just install this.

shasum output:

3e0de8af516c15547602977db939d8c2e44fcc0b  visualcppbuildtools_full.exe

md5sum output:

MD5 (visualcppbuildtools_full.exe) = 8d4afd3b226babecaa4effb10d69eb2e

Run your pip installation command again. If everything works fine, its good. Or you might face the following error like me:

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

Found the fix for the above problem here:
Visual Studio can't build due to rc.exe

That basically says

Add this to your PATH environment variables:

C:Program Files (x86)Windows Kits8.1binx86

Copy these files:

rc.exe
rcdll.dll

From

C:Program Files (x86)Windows Kits8.1binx86

To

C:Program Files (x86)Microsoft Visual Studio 11.0VCbin

It works like a charm

Pycrypto has vulnerabilities assigned the CVE-2013-7459 number, and the repo hasn’t accept PRs since June 23, 2014.

Pycryptodome is a drop-in replacement for the PyCrypto library, which exposes almost the same API as the old PyCrypto, see Compatibility with PyCrypto.

If you haven’t install pycrypto yet, you can use pip install pycryptodome to install pycryptodome in which you won’t get Microsoft Visual C++ 14.0 issue.

Answered By: Ynjxsjmh

I landed on this question after searching for “Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”. I got this error in Azure DevOps when trying to run pip install to build my own Python package from a source distribution that had C++ extensions. In the end all I had to do was upgrade setuptools before calling pip install:

pip install --upgrade setuptools

So the advice here about updating setuptools when installing from source archives is right after all:). That advice is given here too.

Answered By: snark

As an alternative to installing Visual C++, there is a way by installing an additional package in Conda (this option doesn’t require admin rights). This worked for me:

conda install libpython m2w64-toolchain -c msys2
Answered By: Guido

Try doing this:

py -m pip install pipwin
py -m pipwin install PyAudio
Answered By: praveen d

Updated link here for download Microsoft Visual C++ 14.0

It works for me without a Visual Studio downloader

Answered By: iampritamraj

Killer solution: install nodejs and tick the option of install chocolatey and other necessary tools... and it will install the tools required to setup a development environment.

Answered By: Ahmed I. Elsayed

Three steps I follow for this error:

  1. C++ Build tools are installed
  2. pip install –upgrade setuptools
  3. try using conda to install, conda may have the compiled version which won’t need the build tools
Answered By: Harit Yadav

None of the solutions proposed by other people here worked for me.

So in my case I had to uinstall ALL older versions
of Microsoft Visual C++ Redistributable
from my computer:

enter image description here

Only the newest one (in my case 2015-2022) should be left!

After uinstalling I ran this command:

pip install <your_lib_name>

and everything worked great after that.

Answered By: westman379