Ошибка установки Microsoft Python-3.6 PyCrypto

pip install pycrypto отлично работает с python3.5.2, но не сработает с python3.6 со следующей ошибкой:

inttypes.h(26): ошибка C2061: синтаксическая ошибка: идентификатор 'intmax_t'

Ответы

Ответ 1

Файл include\pyport.h в каталоге установки Python не имеет #include < stdint.h > . Это оставляет intmax_t undefined.

Обходной путь для компилятора Microsoft VC заключается в том, чтобы включить stdint.h через переменную окружения ОС CL:

  • Откройте командную строку с правами администратора
  • Запустите vsvars32.bat из вашей версии VC
  • set CL = -FI "% VCINSTALLDIR%\INCLUDE\stdint.h"
  • pip install pycrypto

Ответ 2

Спасибо user1960422.

Шаги PowerShell для pycrypto 2.6.1 (через простой склеп)/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`""

Успешная установка простого шифрования /pycrypto

Мне также нужно было выполнить ответ в: fooobar.com/questions/331704/..., чтобы исправить ошибку модуля winrandom.

Ответ 3

Мне удалось установить pycrypo 2.6.1 на python 3.6 и Windows 10.

  • Задайте переменную среды, как показано ниже.  установочный каталог Visual Studio
  • Открыть cmd.exe
  • Активировать virtualenv
  • Загрузите pycrypto 2.6.1 из github и разархивируйте его.
  • установить переменную окружения для pycrypto set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%
  • Запустить команду настройки python setup.py install
  • мой результат здесь введите описание изображения здесь

Я был бы рад, если это может помочь кому-то.

Ответ 4

Мне удалось установить pycrypto 2.6.1 на python 3.6, Windows 10, Visual Studio 2017.

  • откройте "x86_x64 командная строка для VS 2017" с правами администратора в меню "Пуск".
  • set CL = -FI "% VCINSTALLDIR% Инструменты \MSVC\14.11.25503\include\stdint.h"
  • pip install pycrypto

введите описание изображения здесь

Ответ 5

Используйте PyCrytodome вместо pycryto. Pycryto прекращается и больше не поддерживается.