2012-12-09 69 views
15

我試圖在我的電腦上安裝PyCrypto 2.6庫。不過,我不斷收到以下錯誤Windows上的PyCrypto安裝錯誤

D:\Software\Python\package\pycrypto-2.6>python setup.py build 
running build 
running build_py 
running build_ext 
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. 

building 'Crypto.Random.OSRNG.winrandom' extension 
error: Unable to find vcvarsall.bat 

我的系統有 的Windows 8專業版64位,Visual Studio企業2012和Python 3.3

要修正這個錯誤我試圖設置環境變量VS90COMNTOOLS=%VS110COMNTOOLS%的建議通過fmuecke in the post error: Unable to find vcvarsall.bat,但它不適合我。

任何人都可以請告訴我如何解決這個錯誤。

僅供參考,不安裝VC2008等。

+0

的Python 3.3是建立與VC2010。一般規則是擴展必須使用用於python的相同VC來構建。我建議你安裝VC2010,試一試,並相應地更新問題。 – SquareRootOfTwentyThree

+0

我已經在我的問題提到了安裝Visual Studio/VC的另一個實例是不是我的選擇。 –

+0

這爲我工作https://stackoverflow.com/a/41843310/2968001 –

回答

13

我設法通過prebuilt binary for Python3.3The Voidspace Python Modules安裝PyCrypto 2.6。

它實際上並沒有爲其他軟件包修復error: Unable to find vcvarsall.bat,因爲其他軟件包沒有可用的預構建二進制文件。

但是它消除了構建PyCrypto包的需要,允許我在系統上安裝PyCrypto而不會出現錯誤。

+0

神奇。謝謝! – wujj123456

+1

我這樣做,使用'的easy_install pycrypto-2.6.win32-py3.3.exe'但是當我試圖從'進口Crypto.PublicKey我RSA'得到:'從。導入winrandom ImportError:DLL加載失敗:找不到指定的模塊.' – deed02392

1

您可以安裝mingw64然後從PyCrypto解壓縮的文件目錄下運行:

蟒蛇setup.py建立--compiler = mingw32的

4

我知道這是一個老問題,但我還需要很多的今天時間得到paramiko炒鍋。 我想使用Python 3.4和voidspace,3.4中沒有預構建的二進制文件。

最後,我得到了一個工作呢pycrypto從pycrypto 2.7文件夾中安裝「微軟Studio Express的2010 C++」,然後運行:

python setup.py build --compiler msvc 
python setup.py install 
python setup.py bdist_wininst 

所有的「招數」與環境變量並沒有爲我工作。

如果幫助別人,所有的感謝去: http://flintux.wordpress.com/2014/04/30/pycrypto-for-python-3-4-on-windows-7-64bit/

+0

這是真正的答案,選擇的是解決方法。 –

+0

只是FYI:它在Python 3.5.1中不起作用 –

2

我只是用

https://www.microsoft.com/en-gb/download/details.aspx?id=44266

與setuptools的> 6.0和運行

'PIP安裝pycrypto'

它的工作

+1

如果鏈接失效 - 僅鏈接的答案不是特別有用 - 如果您認爲鏈接已死,我仍能從答案中得到什麼?我所知道的是,我需要在你的其他指令之前首先下載一些東西。 – stwalkerster

+0

作爲說明,下載的是「Microsoft Visual C++編譯器for Python 2.7」,這解決了我的問題。 (Visual Studio 2015社區版沒有) – user

2

對於Python 3。5你可以這樣做:

從這個網站安裝PyCrypto二進制: https://github.com/sfbahr/PyCrypto-Wheels

最好的方式做到這一點,就是:

64位的Python

C:\ Python35 \ Scripts \ pip.exe install --use-wheel --no-index --find-links = https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win_amd64.whl pycrypto

32位的Python

C:\ Python35 \腳本\ pip.exe安裝--use輪--no指數--find鏈接= https://github.com/sfbahr/PyCrypto-Wheels/raw/master/pycrypto-2.6.1-cp35-none-win32.whl pycrypto

當然替換C:\ Python35 \腳本\ pip.exe通過你的Python PIP路徑

要知道你的Python版本,運行python,並期待在括號中顯示的架構:

C:\用戶\ utilisateur>蟒蛇 的Python 3.5.1 |蟒蛇4.0.0(64位)| (默認,2016年2月16日,09:49:46)[MSC v.1900 64位AMD64)] on win32 輸入「help」,「copyright」,「credits」或「license」以獲取更多信息。

希望這可以幫助。

0

如果你是2010 VS

SET VS90COMNTOOLS =%VS100COMNTOOLS%

VS 2012

SET VS90COMNTOOLS =%VS110COMNTOOLS%

VS 2013

SET VS90COMNTOOLS =% VS120COMNTOOLS%

然後 蟒蛇的setup.py安裝