我通过pip在Windows上安装了PyCrypto,但是我无法构buildCrypto.PublicKey._fastmath,因为没有findGMP。
我知道在void空间有一个二进制版本,但我想构build最新版本的PyCrypto
以下是实现您的目标的一种方法。 还有其他的,可能更好的方法(例如基于Visual Studio),但是这个为我工作。 另外,它不使用pip
。
所有操作都在命令提示符下执行。
MinGW\bin
和MingGW\msys\1.0\bin
。 bash configure
然后make
。 libmpir.a
从mpir-2.5.0\.libs
复制到C:\Python2.7.1\libs
。 这是必要的,因为distutils
已经坏了,我找不到一个方法将其引导到正确的库位置。 C:\Python2.7.1\Lib\distutils\cygwincompiler.py
并删除字符串-mno-cygwin
。 原因在这里解释。 CPPFLAGS
环境变量设置为mpir.h
目录,其中包含mpir.h
HACK 3编辑setup.py
并在build_extension
方法中添加以下行:
自.__ add_compiler_option(os.environ [ 'CPPFLAGS'])
运行bash configure
。 你应该看到两行说:
在-lgmp中检查__gmpz_init …不
在-lmpir中检查__gmpz_init …是的
python setup.py build -c mingw32
。 你应该看到没有错误。 python setup.py test
来验证一切正常。 python setup.py install
将文件复制到本地的Python库中。 python setup.py bdist_wininst
来创建一个安装程序。 我真的很讨厌所有的黑客,我很想听听他们是否可以避免。