您好,登錄后才能下訂單哦!
今天做接口測試,有個接口的參數使用了 AES 加密,開發也提供了加密函數的實現,但是 Python2.6 實現的,我習慣使用的是 Python3.4,于是準備做下兼容處理,結果過程中發現安裝 pycrypto 庫會報錯。
作為測試,定位問題并解決問題乃是我們的強項,于是花了點時間把問題處理了,順便把解決的結果做個記錄,如果后面有同學碰到同樣的問題,也不用重復踩坑了。
先看看我安裝庫用的命令行:
python34 -m pip install pycrypto
下面是報錯信息:
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
從報錯信息看,就是缺少依賴庫文件,確實,我機器上安裝的是 VS2008,因為用的少一直沒更新,但是提示的是需要 VS2010 支持,總不能因為裝一個庫,我就去裝一個大得多的 VS2010 吧,所以:
先放棄,實在找不到方法再說。
繼續 Google 發現有同學提供了新的方案:
根據要求依次執行如下命令行:
python34 -m pip uninstall crypto
python34 -m pip install pycrypto
錯誤依舊,報錯信息也是一字沒改,方法無效。
繼續看其他方案:
我也沒搞定這個和問題有啥關系,但是升級下也沒壞處,升,依次執行如下命令行:
python34 -m pip install --upgrade setuptools
python34 -m pip install pycrypto
錯誤依舊,報錯信息也是一字沒改,方法無效。
眼瞅著要回頭去找 VS2010 安裝包了,突然發現有人找到了這個庫編譯好的 exe 安裝包,贊,果然還是那句話「有需求的地方,就有人出實現」,就看你能不能找得到了。
安裝包地址:
http://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1.win32-py3.4.exe
親測有效,問題解決。
另外,記得到 Python 安裝目錄下 \Lib\site-packages 去看下,如果 crypto 是全小寫就改成 Crypto,不然引入會報錯。
附上引入代碼:
from Crypto.Cipher import AES
方法四下載地址出處:
https://blog.csdn.net/wjzhangcsu/article/details/75039789
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。