gpt4 book ai didi

python - 在 Windows 上通过 pip 使用 fastmath(gmp 或 mpir)构建 PyCrypto

转载 作者:可可西里 更新时间:2023-11-01 13:26:19 27 4
gpt4 key购买 nike

我通过 pip 在 Windows 上安装了 PyCrypto,但我无法构建 Crypto.PublicKey._fastmath,因为找不到 GMP。

我知道 voidspace 上有一个二进制版本但我想构建最新版本的 PyCrypto

最佳答案

以下是实现您的目标的一种方法。还有其他可能更好的方法(例如基于 Visual Studio),但这个方法对我有用。此外,它不使用 pip

所有操作都在命令提示符下进行。

  1. 安装 Mingw ,包括 MSYS 和开发工具包。这将为您提供一个相当完整的类 Unix 开发环境。
  2. 确保 Mingw 二进制文件位于 PATH 环境变量中。您需要 MinGW\binMingGW\msys\1.0\bin
  3. 下载MPIR临时目录中的资源。重要的是您使用 2.5.1,因为一个错误会破坏构建。 2.5.0 没问题。
  4. 构建 MPIR 库。这非常简单:执行 bash configure,然后执行 make
  5. HACK #1libmpir.ampir-2.5.0\.libs 复制到 C:\Python2.7.1\库。这是必要的,因为 distutils 已损坏,我找不到将其定向到正确库位置的方法。
  6. HACK #2 编辑 C:\Python2.7.1\Lib\distutils\cygwincompiler.py 并删除所有出现的字符串 -mno-cygwin。原因解释here .
  7. 下载PyCrypto源并将它们解压缩到另一个临时目录中。
  8. CPPFLAGS环境变量设置为MPIR目录,其中包含mpir.h
  9. HACK 3 编辑 setup.py 并在 build_extension 方法中添加以下行:

    self.__add_compiler_option(os.environ['CPPFLAGS'])

  10. 运行 bash 配置。你应该看到两行:

    checking for __gmpz_init in -lgmp... no
    checking for __gmpz_init in -lmpir... yes

  11. 执行 python setup.py build -c mingw32。您应该看不到任何错误。
  12. 执行 python setup.py test 以验证一切正常。
  13. 执行 python setup.py install 将文件复制到本地 Python 存储库中。
  14. 或者,运行 python setup.py bdist_wininst 来创建安装程序。

我真的很讨厌各种黑客攻击,我很想知道是否可以避免它们。

关于python - 在 Windows 上通过 pip 使用 fastmath(gmp 或 mpir)构建 PyCrypto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938274/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com