溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python3.4 安裝 pycrypto 提示錯(cuò)誤的處理辦法

發(fā)布時(shí)間:2020-07-10 09:14:37 來源:網(wǎng)絡(luò) 閱讀:613 作者:sylan215 欄目:編程語言

今天做接口測(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 吧,所以:

方法一:安裝 VS2010,然后設(shè)置環(huán)境變量

先放棄,實(shí)在找不到方法再說。

繼續(xù) Google 發(fā)現(xiàn)有同學(xué)提供了新的方案:

方法二:卸載 crypto 庫后重新安裝 pycrypto

根據(jù)要求依次執(zhí)行如下命令行:

python34 -m pip uninstall crypto
python34 -m pip install pycrypto

錯(cuò)誤依舊,報(bào)錯(cuò)信息也是一字沒改,方法無效

繼續(xù)看其他方案:

方法三:升級(jí)下 setuptools

我也沒搞定這個(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)」,就看你能不能找得到了。

方法四:安裝 pycrypto 編譯好的 exe 安裝包

安裝包地址:
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

向AI問一下細(xì)節(jié)

免責(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)容。

AI