web-dev-qa-db-fra.com

Erreur d'installation de Microsoft Windows Python-3.6 PyCrypto

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'

33
user1602

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 =:

  1. Ouvrir l'invite de commande
  2. Programme d'installation VC en exécutant vcvars * .bat (choisissez un nom de fichier en fonction de VC)
  3. set CL = -FI "Full-Path\stdint.h" (utilisez la valeur réelle pour Full-Path pour l'environnement)
  4. pip installer pycrypto
56
user1602

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.

18
naaman

J'ai réussi à installer pycrypto 2.6.1 sur python 3.6, Windows 10, Visual Studio 2017.

  1. ouvrez l'invite de commande "Outils croisés x86_x64 pour VS 2017" avec les privilèges d'administrateur dans le menu Démarrer.
  2. set CL = -FI "% VCINSTALLDIR% Tools\MSVC\14.11.25503\include\stdint.h"
  3. pip installer pycrypto

enter image description here

16
Marko Rothstein

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

12
bhuvan karuturi

J'ai réussi à installer pycrypo 2.6.1 sur python 3.6 et Windows 10.

  1. Définissez une variable d'environnement comme ci-dessous. visual studio installed directory
  2. Ouvrez cmd.exe
  3. Activer virtualenv
  4. Téléchargez la version pycrypto 2.6.1 de github et décompressez-la.
  5. définir une variable d'environnement pour pycrypto set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%
  6. Exécuter la commande d'installation python setup.py install
  7. mon résultat est ici enter image description here

Je serais heureux si cela pouvait aider quelqu'un.

3
user1960422