I installed PyCrypto on Windows via pip but i was not able to build Crypto.PublicKey._fastmath because GMP was not found.
I know there is a binary version on voidspace but i would like to build the latest version of PyCrypto
The following one is a way to achieve your goal. There are other, probably better ways (e.g. based on Visual Studio), but this one has worked for me. Additionally, it does not use pip
.
All operations are carried out on a command prompt.
MinGW\bin
and MingGW\msys\1.0\bin
. bash configure
followed by make
.libmpir.a
from mpir-2.5.0\.libs
into C:\Python2.7.1\libs
. This is necessary because distutils
is broken and I could not find a way to direct it to the correct library location.C:\Python2.7.1\Lib\distutils\cygwincompiler.py
and remove any occurrance of the string -mno-cygwin
. The reason is explained here.CPPFLAGS
environment variable to the MPIR directory, which contains mpir.h
.HACK 3 Edit setup.py
and add the following line in build_extension
method:
self.__add_compiler_option(os.environ['CPPFLAGS'])
Run bash configure
. You should see two lines saying:
checking for __gmpz_init in -lgmp... no
checking for __gmpz_init in -lmpir... yes
python setup.py build -c mingw32
. You should see no errors.python setup.py test
to verify that everything is fine.python setup.py install
to copy the files into your local Python repository.python setup.py bdist_wininst
to create an installer.I really hate all the various hacks, and I'd love to hear if they can be avoided.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With