您好,登錄后才能下訂單哦!
今天做接口測(cè)試,有個(gè)接口的參數(shù)使用了 AES 加密,開發(fā)也提供了加密函數(shù)的實(shí)現(xiàn),但是 Python2.6 實(shí)現(xiàn)的,我習(xí)慣使用的是 Python3.4,于是準(zhǔn)備做下兼容處理,結(jié)果過程中發(fā)現(xiàn)安裝 pycrypto 庫會(huì)報(bào)錯(cuò)。
作為測(cè)試,定位問題并解決問題乃是我們的強(qiáng)項(xiàng),于是花了點(diǎn)時(shí)間把問題處理了,順便把解決的結(jié)果做個(gè)記錄,如果后面有同學(xué)碰到同樣的問題,也不用重復(fù)踩坑了。
先看看我安裝庫用的命令行:
python34 -m pip install pycrypto
下面是報(bào)錯(cuò)信息:
running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
building 'Crypto.Random.OSRNG.winrandom' extension
error: Microsoft Visual C++ 10.0 is required. Get it with "Microsoft Windows SDK 7.1": www.microsoft.com/download/details.aspx?id=8279
從報(bào)錯(cuò)信息看,就是缺少依賴庫文件,確實(shí),我機(jī)器上安裝的是 VS2008,因?yàn)橛玫纳僖恢睕]更新,但是提示的是需要 VS2010 支持,總不能因?yàn)檠b一個(gè)庫,我就去裝一個(gè)大得多的 VS2010 吧,所以:
先放棄,實(shí)在找不到方法再說。
繼續(xù) Google 發(fā)現(xiàn)有同學(xué)提供了新的方案:
根據(jù)要求依次執(zhí)行如下命令行:
python34 -m pip uninstall crypto
python34 -m pip install pycrypto
錯(cuò)誤依舊,報(bào)錯(cuò)信息也是一字沒改,方法無效。
繼續(xù)看其他方案:
我也沒搞定這個(gè)和問題有啥關(guān)系,但是升級(jí)下也沒壞處,升,依次執(zhí)行如下命令行:
python34 -m pip install --upgrade setuptools
python34 -m pip install pycrypto
錯(cuò)誤依舊,報(bào)錯(cuò)信息也是一字沒改,方法無效。
眼瞅著要回頭去找 VS2010 安裝包了,突然發(fā)現(xiàn)有人找到了這個(gè)庫編譯好的 exe 安裝包,贊,果然還是那句話「有需求的地方,就有人出實(shí)現(xiàn)」,就看你能不能找得到了。
安裝包地址:
http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py3.4.exe
親測(cè)有效,問題解決。
另外,記得到 Python 安裝目錄下 \Lib\site-packages 去看下,如果 crypto 是全小寫就改成 Crypto,不然引入會(huì)報(bào)錯(cuò)。
附上引入代碼:
from Crypto.Cipher import AES
方法四下載地址出處:
https://blog.csdn.net/wjzhangcsu/article/details/75039789
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。