Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Microsoft Windows Python-3.6 PyCrypto installation error

pip install pycrypto works fine with python3.5.2 but fails with python3.6 with the following error:

inttypes.h(26): error C2061: syntax error: identifier 'intmax_t'

like image 287
user1602 Avatar asked Jan 25 '17 04:01

user1602


People also ask

How do I run PyCrypto?

PyCrypto is written and tested using Python version 2.1 through 3.3. Python 1.5. 2 is not supported. The modules are packaged using the Distutils, so you can simply run “python setup.py build” to build the package, and “python setup.py install” to install it.


1 Answers

The file include\pyport.h in Python installation directory does not have #include < stdint.h > anymore. This leaves intmax_t undefined.

A workaround for Microsoft VC compiler is to force include stdint.h via OS environment variable CL:

  1. Open command prompt
  2. Setup VC environment by runing vcvars*.bat (choose file name depending on VC version and architecture)
  3. set CL=-FI"Full-Path\stdint.h" (use real value for Full-Path for the environment)
  4. pip install pycrypto
like image 94
user1602 Avatar answered Sep 23 '22 02:09

user1602