Microsoft Windows Python-3.6 PyCrypto 安装错误
Microsoft Windows Python-3.6 PyCrypto installation error
pip install pycrypto
与 python3.5.2 一起工作正常,但与 python3.6 一起工作失败,并出现以下错误:
inttypes.h(26): error C2061: syntax error: identifier 'intmax_t'
Python安装目录下的文件include\pyport.h没有#include 了。这使得 intmax_t 未定义。
Microsoft VC 编译器的解决方法是通过 OS 环境变量 CL[= 强制包含 stdint.h 23=]:
- 打开命令提示符
- 通过运行 vcvars*.bat 设置 VC 环境(根据 VC 版本和体系结构选择文件名)
- set CL=-FI"Full-Path\stdint.h"(对环境使用 Full-Path 的实际值)
- pip 安装 pycrypto
我已经在 python 3.6 和 windows 10 上成功安装了 pycrypo 2.6.1。
- 像下面这样设置一个环境变量。
- 打开cmd.exe
- 激活虚拟环境
- 从 github 下载 pycrypto 2.6.1 版本并解压。
- 为pycrypto设置一个环境变量
set CL=/FI"%VCINSTALLDIR%\INCLUDE\stdint.h" %CL%
- 运行 设置命令
python setup.py install
- 我的结果在这里
如果这对某人有所帮助,我会很高兴。
我已经在 python 3.6、Windows 10、Visual Studio 2017 上成功安装了 pycrypto 2.6.1。
在开始菜单中以管理员权限打开“x86_x64 VS 2017 的交叉工具命令提示符”。
set CL=-FI"%VCINSTALLDIR%Tools\MSVC.11.25503\include\stdint.h"
pip install pycrypto
使用 PyCryptodome 而不是 pycrypto。 pycrypto 是 discontinued and is no longer actively supported. PyCryptodome exposes almost the same API as pycrypto (source).
感谢user1960422的回答。
pycrypto 2.6.1 的 PowerShell 步骤(通过 simple-crypt)/Python3.6/Windows10:
$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
我还需要按照 中的答案来修复 winrandom
模块错误。
卸载当前的 Python 版本
为 amd64 架构安装 Python
遵循其他已接受的解决方案:
- 打开“x86_x64 VS 2017 的交叉工具命令提示符”
- 为您的 Visual Studio MSVC 安装路径添加新的环境变量
set CL=-FI"%VCINSTALLDIR%Tools\MSVC.11.25503\include\stdint.h"
pip install pycrypto
对我来说,这解决了问题:
和Python2,我有
sudo apt-get install python-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev \
...
和Python3,我需要
sudo apt-get install python3 python-dev python3-dev \
build-essential libssl-dev libffi-dev \
...
安装 python-dev python3-dev
为我解决了这个问题!
遇到和我一样情况的朋友们:
环境
- Windows 10 企业版 v10.0.18363 内部版本 18363
- Python 3.8
步骤
- 在 https://visualstudio.microsoft.com/visual-cpp-build-tools/
下载 Microsoft C++ 构建工具
- 运行 以上设置 exe 并安装默认组件
- MSVC v142 - VS 2019 C++ x64/x86 构建工具
- Windows 10 个 SDK
- 用于 windows
的 C++ CMake 工具
- 测试工具核心功能——构建工具
- C++ AddressSanitizer(实验性)
- 重启电脑
- 开始菜单 > x64 VS 2019 本机工具命令提示符,将弹出一个命令 window
- 执行
set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.27.29110\include\stdint.h"
- 运行
pip install pycrypto
in a cmd window(可能需要管理员权限)
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Auxiliary\Build>vcvars64.bat
** Visual Studio 2019 Developer Command Prompt v16.11.14
** Copyright (c) 2021 Microsoft Corporation
********************************************************************** [vcvarsall.bat] Environment initialized for: 'x86_x64'
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools>set
CL=-FI"C:\Program Files (x86)\Microsoft Visual
Studio19\BuildTools\VC\Tools\MSVC.29.30133\include\stdint.h"
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools>pip
install pycrypto Collecting pycrypto Using cached
pycrypto-2.6.1.tar.gz (446 kB) Preparing metadata (setup.py) ...
done Building wheels for collected packages: pycrypto Building wheel
for pycrypto (setup.py) ... done Created wheel for pycrypto:
filename=pycrypto-2.6.1-cp39-cp39-win_amd64.whl size=528832
sha256=250926fc0e06b4c1ed9c2fb16ad9b4723984ef68c1e5383b26c974235536a0ae
Stored in directory:
c:\users\volka\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local\pip\cache\wheelsdb8f22481bec8b0fbe7087927336ec167faff2ed9db849448f
Successfully built pycrypto Installing collected packages: pycrypto
Successfully installed pycrypto-2.6.1
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools>
pip install pycrypto
与 python3.5.2 一起工作正常,但与 python3.6 一起工作失败,并出现以下错误:
inttypes.h(26): error C2061: syntax error: identifier 'intmax_t'
Python安装目录下的文件include\pyport.h没有#include
Microsoft VC 编译器的解决方法是通过 OS 环境变量 CL[= 强制包含 stdint.h 23=]:
- 打开命令提示符
- 通过运行 vcvars*.bat 设置 VC 环境(根据 VC 版本和体系结构选择文件名)
- set CL=-FI"Full-Path\stdint.h"(对环境使用 Full-Path 的实际值)
- pip 安装 pycrypto
我已经在 python 3.6 和 windows 10 上成功安装了 pycrypo 2.6.1。
- 像下面这样设置一个环境变量。
- 打开cmd.exe
- 激活虚拟环境
- 从 github 下载 pycrypto 2.6.1 版本并解压。
- 为pycrypto设置一个环境变量
set CL=/FI"%VCINSTALLDIR%\INCLUDE\stdint.h" %CL%
- 运行 设置命令
python setup.py install
- 我的结果在这里
如果这对某人有所帮助,我会很高兴。
我已经在 python 3.6、Windows 10、Visual Studio 2017 上成功安装了 pycrypto 2.6.1。
在开始菜单中以管理员权限打开“x86_x64 VS 2017 的交叉工具命令提示符”。
set CL=-FI"%VCINSTALLDIR%Tools\MSVC.11.25503\include\stdint.h"
pip install pycrypto
使用 PyCryptodome 而不是 pycrypto。 pycrypto 是 discontinued and is no longer actively supported. PyCryptodome exposes almost the same API as pycrypto (source).
感谢user1960422的回答。
pycrypto 2.6.1 的 PowerShell 步骤(通过 simple-crypt)/Python3.6/Windows10:
$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
我还需要按照 中的答案来修复 winrandom
模块错误。
卸载当前的 Python 版本
为 amd64 架构安装 Python
遵循其他已接受的解决方案:
- 打开“x86_x64 VS 2017 的交叉工具命令提示符”
- 为您的 Visual Studio MSVC 安装路径添加新的环境变量
set CL=-FI"%VCINSTALLDIR%Tools\MSVC.11.25503\include\stdint.h"
pip install pycrypto
对我来说,这解决了问题:
和Python2,我有
sudo apt-get install python-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev \
...
和Python3,我需要
sudo apt-get install python3 python-dev python3-dev \
build-essential libssl-dev libffi-dev \
...
安装 python-dev python3-dev
为我解决了这个问题!
遇到和我一样情况的朋友们:
环境
- Windows 10 企业版 v10.0.18363 内部版本 18363
- Python 3.8
步骤
- 在 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 下载 Microsoft C++ 构建工具
- 运行 以上设置 exe 并安装默认组件
- MSVC v142 - VS 2019 C++ x64/x86 构建工具
- Windows 10 个 SDK
- 用于 windows 的 C++ CMake 工具
- 测试工具核心功能——构建工具
- C++ AddressSanitizer(实验性)
- 重启电脑
- 开始菜单 > x64 VS 2019 本机工具命令提示符,将弹出一个命令 window
- 执行
set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.27.29110\include\stdint.h"
- 运行
pip install pycrypto
in a cmd window(可能需要管理员权限)
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Auxiliary\Build>vcvars64.bat
** Visual Studio 2019 Developer Command Prompt v16.11.14 ** Copyright (c) 2021 Microsoft Corporation ********************************************************************** [vcvarsall.bat] Environment initialized for: 'x86_x64'
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools>set CL=-FI"C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools\VC\Tools\MSVC.29.30133\include\stdint.h"
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools>pip install pycrypto Collecting pycrypto Using cached pycrypto-2.6.1.tar.gz (446 kB) Preparing metadata (setup.py) ... done Building wheels for collected packages: pycrypto Building wheel for pycrypto (setup.py) ... done Created wheel for pycrypto: filename=pycrypto-2.6.1-cp39-cp39-win_amd64.whl size=528832 sha256=250926fc0e06b4c1ed9c2fb16ad9b4723984ef68c1e5383b26c974235536a0ae Stored in directory: c:\users\volka\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local\pip\cache\wheelsdb8f22481bec8b0fbe7087927336ec167faff2ed9db849448f Successfully built pycrypto Installing collected packages: pycrypto Successfully installed pycrypto-2.6.1
C:\Program Files (x86)\Microsoft Visual Studio19\BuildTools>