【发布时间】:2017-06-10 03:24:24
【问题描述】:
pip install pycrypto 在 python3.5.2 上工作正常,但在 python3.6 上失败并出现以下错误:
inttypes.h(26):错误 C2061:语法错误:标识符“intmax_t”
【问题讨论】:
标签: windows visual-studio pycrypto python-3.6
pip install pycrypto 在 python3.5.2 上工作正常,但在 python3.6 上失败并出现以下错误:
inttypes.h(26):错误 C2061:语法错误:标识符“intmax_t”
【问题讨论】:
标签: windows visual-studio pycrypto python-3.6
Python安装目录下的include\pyport.h文件不再有#include
Microsoft VC 编译器的一种解决方法是通过操作系统环境变量 CL 强制包含 stdint.h:
【讨论】:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat。
stdint.h,我已经添加了对该错误报告所需修复的解释。
set CL=-FI"%VCINSTALLDIR%\include\stdint.h"
【讨论】:
14.12.25827。谢谢老哥
感谢user1960422 的回答。
pycrypto 2.6.1(通过 simple-crypt)/Python 3.6/Windows 10 的 PowerShell 步骤:
$env:VCINSTALLDIR="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
$env:CL="-FI`"$env:VCINSTALLDIR\INCLUDE\stdint.h`""
Successful simple-crypt / pycrypto install
我还需要按照https://stackoverflow.com/a/24822876/8751739 中的答案来修复winrandom 模块错误。
【讨论】:
使用 PyCryptodome 代替 pycrypto。 pycrypto 是 discontinued 并且不再受到积极支持。 PyCryptodome 公开了与 pycrypto (source) 几乎相同的 API。
【讨论】:
【讨论】:
卸载当前的 Python 版本
为 amd64 架构安装 Python
遵循其他公认的解决方案:
set CL=-FI"%VCINSTALLDIR%Tools\MSVC\14.11.25503\include\stdint.h" pip install pycrypto【讨论】:
对于遇到与我相同情况的人:
环境
步骤
set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\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 为我解决了这个问题!
【讨论】: