python3.6 和python 2.7版本安裝pycrypto過程及問題(不需要安裝vs)
python安裝pycrypto真的是踩到很多坑,說起來一把辛酸淚,好在最後成功解決了,總結了一下遇到的問題,寫出來與大家共享
首先要明白的是crypto和pycrypto是兩個不同的模塊,小夥伴們不要去安裝crypto
問題一:unable to find vcvarsall.bat
在網上下載pycrypto的包,進入包目錄,使用python setup.py install命令安裝,報錯如圖
大家看到這肯定去百度啊,百度就告訴你安裝vs吧,但vs這個東西安裝時間長,卸載又麻煩,加上我們平時用不到的話,安裝成本略高
接下來介紹一種省心省力的安裝方式,下載pycrypto.whl文件
下載網址:http://www.voidspace.org.uk/python/pycrypto-2.6.1/
裏邊有不同版本對應的whl
這裏我的python 3.6.5版本對應的pycrypto.whl為pycrypto-2.6.1-cp36-cp36m-win_amd64.whl
python2.7版本對應下載的是pycrypto-2.6.1-cp36-win32_py27.exe
分別介紹一下安裝方式
1)pycrypto.whl文件
下載文件放置於D:\python\python3.6.2\Scripts下,前邊為python安裝目錄
cmd進入D:\python\python3.6.2\Scripts,執行pip install pycrypto-2.6.1-cp36-cp36m-win_amd64.whl
等待Successfully installed …出現
2)pycrypto.exe
下載後直接雙擊打開,過程中會匹配你當前電腦已安裝的python,註意版本和目錄的選擇,一直下一步指導安裝完成
至此我的問題解決了
可能出現的問題二:No Module named Crypto
小夥伴們在上述過程後,導入模塊
from Crypto.Cipher import AES
運行時可能報錯No Module named Crypto
這裏也有解決辦法:修改D:\python\python3.6.2\site_packages下的crypto報名為大寫Crypto
可能遇到的問題三:ModuleNotFoundError: No module named ‘winrandom
這個問題其實我沒遇到過......解決方法是從別人那裏copy來的,解決不了問題還請小夥伴們不要打我....
解決方法:在目錄下:D:\python\python3.6.2\Lib\site-packages\Crypto\Random\OSRNG修改nt.py文件,
將import winrandom 修改為:from . import winrandom即可
附上一張運行成功的圖,哈哈哈
python3.6 和python 2.7版本安裝pycrypto過程及問題(不需要安裝vs)