Microsoft Windows Python-3.6 PyCrypto安装错误

时间:2017-01-25 04:14:27

标签: windows visual-studio pycrypto python-3.6

pip install pycrypto可以正常使用python3.5.2但是因为python3.6而失败并出现以下错误:

  

inttypes.h(26):错误C2061:语法错误:标识符' intmax_t'

8 个答案:

答案 0 :(得分:55)

Python安装目录中的文件include \ pyport.h没有 #include< stdint.h> 了。这留下 intmax_t 未定义。

Microsoft VC编译器的解决方法是通过OS环境变量 CL 强制包含 stdint.h

  1. 打开命令提示符
  2. 通过运行vcvars * .bat设置VC环境(根据VC版本和体系结构选择文件名)
  3. 设置CL = -FI" Full-Path \ stdint.h" (对环境使用Full-Path的实际值)
  4. pip install pycrypto

答案 1 :(得分:18)

感谢user1960422的回答。
适用于pycrypto 2.6.1的PowerShell步骤(通过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`""

Successful simple-crypt / pycrypto install

我还需要按照https://stackoverflow.com/a/24822876/8751739中的答案修复winrandom模块错误。

答案 2 :(得分:13)

我已成功在python 3.6,Windows 10,Visual Studio 2017上安装pycrypto 2.6.1。

  1. 打开" x86_x64 VS 2017的交叉工具命令提示符"在开始菜单中使用管理员权限。
  2. 设置CL = -FI"%VCINSTALLDIR%工具\ MSVC \ 14.11.25503 \ include \ stdint.h"
  3. pip install pycrypto
  4. CredentialsBinding

答案 3 :(得分:12)

使用 PyCryptodome 代替 pycrypto 。 pycrypto是discontinued,不再受到积极支持。 PyCryptodome暴露几乎与pycrypto(source)相同的API。

答案 4 :(得分:3)

我已成功在python 3.6和windows 10上安装pycrypo 2.6.1。

  1. 设置如下的环境变量。  visual studio installed directory
  2. 打开cmd.exe
  3. 激活virtualenv
  4. 从github下载pycrypto 2.6.1版本并解压缩。
  5. 为pycrypto设置环境变量 set CL=/FI"%VCINSTALLDIR%\\INCLUDE\\stdint.h" %CL%
  6. 运行setup命令 python setup.py install
  7. 我的结果在这里 enter image description here
  8. 如果这对某人有帮助,我会很高兴。

答案 5 :(得分:1)

  • 卸载当前的Python版本

  • 为amd64体系结构安装Python

  • 遵循其他可接受的解决方案

      • 打开“ VS 2017的x86_x64跨工具命令提示符”
      • 为您的Visual Studio MSVC安装路径添加新的环境变量
      • set CL=-FI"%VCINSTALLDIR%Tools\MSVC\14.11.25503\include\stdint.h"
      • pip install pycrypto

答案 6 :(得分:0)

对我来说,它可以解决此问题:

使用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可以为我修复!

答案 7 :(得分:0)

对于遇到与我相同情况的人:

环境

  • Windows 10 Enterprise v10.0.18363内部版本18363
  • Python 3.8

步骤

  1. 通过https://visualstudio.microsoft.com/visual-cpp-build-tools/
  2. 下载 Microsoft C ++生成工具
  3. 运行安装程序exe并安装默认组件
    • MSVC v142-VS 2019 C ++ x64 / x86构建工具
    • Windows 10 SDK
    • 用于Windows的C ++ CMake工具
    • 测试工具的核心功能-构建工具
    • C ++ AddressSanitizer(实验性)
  4. 重新启动PC
  5. 开始菜单> 用于VS 2019的x64本机工具命令提示符,将弹出一个cmd窗口
  6. 执行set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include\stdint.h"
  7. 在cmd窗口中运行pip install pycrypto(可能需要管理员权限) 1