pip install pycrypto
fonctionne bien avec python3.5.2 mais échoue avec python3.6 avec l’erreur suivante:
inttypes.h (26): erreur C2061: erreur de syntaxe: identifiant 'intmax_t'
Le fichier include\pyport.h dans Python n’a plus # include <stdint.h>. Cela laisse intmax_t undefined .
Une solution de contournement pour Microsoft VC le compilateur consiste à forcer l'inclusion stdint.h via la variable d'environnement de système d'exploitation CL =:
Merci à la réponse de ser1960422 .
Étapes de PowerShell pour pycrypto 2.6.1 (via simple-crypt)/Python 3.6/Windows 10:
$env:VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
$env:CL="-FI`"$env:VCINSTALLDIR\INCLUDE\stdint.h`""
Installation réussie simple-crypt/pycrypto
Je devais également suivre la réponse dans: https://stackoverflow.com/a/24822876/8751739 pour corriger une erreur de module winrandom
.
J'ai réussi à installer pycrypto 2.6.1 sur python 3.6, Windows 10, Visual Studio 2017.
Utilisez PyCryptodome au lieu de pycrypto . pycrypto est discontinued et n'est plus activement supporté. PyCryptodome expose presque la même API que pycrypto ( source ).
J'ai réussi à installer pycrypo 2.6.1 sur python 3.6 et Windows 10.
set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%
python setup.py install
Je serais heureux si cela pouvait aider quelqu'un.