pip install pycrypto
отлично работает с python3.5.2, но не работает с python3.6 со следующей ошибкой:
inttypes.h(26): ошибка C2061: синтаксическая ошибка: идентификатор 'intmax_t'
pip install pycrypto
отлично работает с python3.5.2, но не работает с python3.6 со следующей ошибкой:
inttypes.h(26): ошибка C2061: синтаксическая ошибка: идентификатор 'intmax_t'
Файл include\pyport.h в каталоге установки Python больше не имеет #include ‹ stdint.h >. Это оставляет intmax_t неопределенным.
Обходной путь для компилятора Microsoft VC — принудительное включение stdint.h через переменную среды ОС CL:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
.
- person CMCDragonkai; 15.02.2017
stdint.h
, и я добавил объяснение необходимого исправления в этот отчет об ошибке.
- person Paul Moore; 20.03.2017
set CL=-FI"%VCINSTALLDIR%\include\stdint.h"
- person Stefan; 13.03.2020
Мне удалось установить pycrypto 2.6.1 на python 3.6, Windows 10, Visual Studio 2017.
Откройте командную строку x86_x64 Cross-Tools для VS 2017 с правами администратора в меню «Пуск».
set CL=-FI"%VCINSTALLDIR%Tools\MSVC\14.11.25503\include\stdint.h"
pip install pycrypto
14.12.25827
. Спасибо друг
- person pagep; 10.01.2018
Благодаря ответу user1960422.
Шаги PowerShell для pycrypto 2.6.1 (через 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`""
Успешная установка simple-crypt/pycrypto
Мне также нужно было следовать ответу в: https://stackoverflow.com/a/24822876/8751739, чтобы исправить winrandom
ошибка модуля.
Используйте PyCryptodome вместо pycrypto. pycrypto прекращено и больше не поддерживается. PyCryptodome предоставляет почти тот же API, что и pycrypto (источник).
Мне удалось установить pycrypo 2.6.1 на python 3.6 и Windows 10.
set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%
python setup.py install
Я был бы рад, если бы это могло помочь кому-то.
Для тех, кто сталкивается с такой же ситуацией, как у меня:
Оболочка
Шаги
set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include\stdint.h"
pip install pycrypto
в окне cmd (может потребоваться привилегия администратора) 1Удалите текущую версию Python
Установите Python для архитектуры amd64
Следуйте другим принятым решениям:
set CL=-FI"%VCINSTALLDIR%Tools\MSVC\14.11.25503\include\stdint.h"
pip install pycrypto
Для меня это исправляет это:
с Python 2 у меня есть
sudo apt-get install python-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev \
...
с Python 3 мне нужно
sudo apt-get install python3 python-dev python3-dev \
build-essential libssl-dev libffi-dev \
...
Установка python-dev python3-dev
исправляет это для меня!