python 3.5 上的 PyCrypto

PyCrypto on python 3.5

我找到了一些适用于 Python 3.3 和 3.4 的 PyCrypto 安装程序,但没有找到适用于 Python 3.5 的 PyCrypto 安装程序。

当我尝试使用 pip install 安装 PyCrypton 时,它显示:

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.  

有什么方法可以在 Windows 10 中的 Python 3.5 上安装 PyCrypto?谢谢!

您可以尝试 PyCryptodome,它是 PyCrypto 的一个分支。 Python 3.5.

有 Windows 个轮子

该警告不应停止构建,您更有可能缺少 Visual Studio 2015 编译器,它是构建二进制扩展(PyCrypto 具有)所必需的。请参阅 Python Packaging User Guide 您的 Python 版本需要哪个编译器。

您需要编译器的原因是 PyCrypto 仅官方提供源代码分发。因此,您有两种安装 PyCrypto 的选择:

1。从源代码构建:

这其实很简单,但需要安装一些额外的软件。同样,请参阅上面链接的 Python 打包用户指南,找到适合您的 Python 版本的编译器。我认为如果您自定义安装 Visual Studio.

,可以选择只为 Python 安装相关编译器

然后,安装完成后,您可能不得不重新启动计算机,您应该可以简单地 运行 pip install pycrypto 并且 pip 会下载源代码并为您编译。

如果您还安装了 wheel (pip install wheel),那么 pip 将从源创建一个 wheel 并将其缓存,这就是我在选项 2 中创建共享的 wheel 的方式。

2。从第 3 方安装内置发行版

我碰巧是第 3 方,并且共享了我为 PyCrypto 2.6.1 编译的轮子 w/ Python 3.5 for 32 位和 64 位 Windows on my GitHub repo。我在该存储库的自述文件中包含了安装说明。

如果您正在寻找旧版本 Python and/or PyCrypto 的内置发行版,我还在我的回购自述文件中链接到 Voidspace(抱歉,我仅限于此处有 2 个链接)。

使用此 post 作为参考在 Windows 系统上执行此过程: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

使用它,我们可以这样做:

  1. 使用 Windows 运行 对话框,打开 regedit 程序。
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Python (python_install_35.reg) 导出。转到此位置并在上下文菜单中执行 "export"。
  3. 编辑 reg 文件并将 HKEY_LOCAL_MACHINE 替换为 HKEY_CURRENT_USER
  4. 以管理员身份执行控制台 (cmd) 提示符并执行 regedit python_install_35.reg
  5. 将条目添加到注册表
  6. 使用regedit查看修改后的条目并将HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore.5更改为HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore.3
  7. 重新运行安装程序

改用pycryptodome!这是一个仍在维护的项目(2017 年 6 月),包括 python 3.xx 的 pycrypto 功能(它在 python 3.6 上对我有用)

项目页面:

https://www.pycryptodome.org/en/latest/index.html

Python3.x版本的简单解决方案:

easy_install http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win-amd64-py3.4.exe