Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pip error: Microsoft Visual C++ 14.0 is required

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\***\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\ 
like image 277
Studentu Avatar asked Jul 06 '17 14:07

Studentu


People also ask

How do I fix Microsoft Visual C++?

Locate Microsoft Visual C++ Runtime 2012 in the list of installed applications. Select this entry and then click Uninstall/Repair and it will show options to Repair, Uninstall or Cancel.


1 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.

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.

like image 177
David Cullen Avatar answered Sep 21 '22 04:09

David Cullen