Microsoft Windows Python-3.6 PyCrypto安装错误

问题描述 投票:31回答:5

pip install pycrypto与python3.5.2一起工作正常,但是由于python3.6而失败,出现以下错误:

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

windows visual-studio pycrypto python-3.6
5个回答
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. 请安装pycrypto

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模块错误。


14
投票

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

  1. 在开始菜单中使用管理员权限打开“x86_x64 VS 2017的跨工具命令提示符”。
  2. 设置CL = -FI“%VCINSTALLDIR%Tools \ MSVC \ 14.11.25503 \ include \ stdint.h”
  3. 请安装pycrypto

enter image description here


12
投票

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


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

如果这可以帮助某人,我会很高兴。

© www.soinside.com 2019 - 2024. All rights reserved.