Ошибка установки 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 прекращается и больше не поддерживается.