Win7 X64 python3安裝pycrypto, Unable to find vcvarsall.bat
Unable to find vcvarsall.bat, 看起來要無解啦。
windows 7 x64, VS2013(誰現在還裝2010啊),python3.4
又是一輪搜尋http://ljhzzyx.blog.163.com/blog/static/3838031220136592824697/,總不能在去裝個VS2008把,也不想裝MinGW,看後面步驟就頭疼。之前也嘗試過上面的VS2010的方法,但是不行。又要用這麼辦,硬著頭皮來吧。
從提示的Error看就是找不到vcvarsall.bat檔案,那我們就幫他找到。
開啟C:\Python34\Lib\distutils\msvc9compiler.py 仔細看。找到了他尋找VC路徑的函式find_vcvarsall,這個不是關鍵,因為報錯的不是這裡。往下看第二個同樣的錯誤在query_vcvarsall函式裡面,就這裡啦
原來的程式碼是:
vcvarsall = find_vcvarsall(version)
因為上面那個函式找不到正確的地方,如果你想知道他找到了什麼你可以直接在裡面敲一行log.info(),當然注意你的程式碼格式,錯了會提示你關於空格或者Tab的問題
改成下面的程式碼:VS2013,其他的自己注意自己的VS版本
version = 12.0
vcvarsall = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\\vcvarsall.bat"
現在繼續你之前在cmd裡面的build命令,有個警告,但應該是過了。別猶豫 python setup.py install,安裝成功
下面是截圖:
然後用API DOC裡面程式碼試一下AES
from Crypto.Cipher import AES
from Crypto import Random
key = b'Sixteen byte key'
iv = Random.new().read(AES.block_size)
cipher = AES.new(key, AES.MODE_CFB, iv)
msg = cipher.encrypt(b'Attack at dawn')
print(iv + msg)
decryptor = AES.new(key, AES.MODE_CFB, iv)
print(decryptor.decrypt(msg))
結果正常輸出: