我通過pip在Windows上安裝了PyCrypto,但是我無法構建Crypto.PublicKey._fastmath,因爲找不到GMP。在Windows上通過pip建立PyCrypto與fastmath(gmp或mpir)
我知道有上voidspace二進制版本,但我想打造的最新版本PyCrypto
我通過pip在Windows上安裝了PyCrypto,但是我無法構建Crypto.PublicKey._fastmath,因爲找不到GMP。在Windows上通過pip建立PyCrypto與fastmath(gmp或mpir)
我知道有上voidspace二進制版本,但我想打造的最新版本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
的任何發生。原因解釋here。CPPFLAGS
環境變量爲MPIR目錄,其中包含mpir.h
。HACK 3編輯setup.py
和build_extension
方法中添加下列行:
自.__ add_compiler_option(os.environ [ 'CPPFLAGS'])
運行bash configure
。您應該看到兩行說:
在-lgmp檢查__gmpz_init ......沒有
檢查__gmpz_init在-lmpir ...是
python setup.py build -c mingw32
。你應該看到沒有錯誤。python setup.py test
驗證一切正常。python setup.py install
將文件複製到您的本地Python存儲庫。python setup.py bdist_wininst
來創建安裝程序。我真的很討厭所有的黑客,我很想聽聽他們是否可以避免。
你不必做步驟** 5 **和** 9 **如果在步驟** 8中將CPATH和LIBRARY_PATH環境變量設置爲CPATH = C:\
哪個Windows版本? 32位或64位? – SquareRootOfTwentyThree
Windows7 64位 – scherlock
更簡單的解決方案在這裏:http://stackoverflow.com/questions/15432010/exception-while-installing-packages-in-python/30620019#30620019 –