首先網上有很多關於Crypto的帖子全都是過時的、錯誤的方法,為了填坑花費幾個鍾頭的時間終於成功。
首先Crypto的官方docment地址如下:
https://pycryptodome.readthedocs.io/en/latest/src/installation.html
網上各種安裝Crypto, pycrypto,pycrytodome 和 pycryptodomex的文章,其實他們統統都是一個東西,我來介紹一下他們的區別:
pycrypto庫就是Crypto的python版本,但該版本已經停止更新,可以棄用了。
pycrytodome庫才是真正的Crypto的最新版本,pycryptodom是包含了原來pycrypto庫和后來的更新功能的。所以不要同時安裝這個
兩個庫,避免沖突。
pycryptodomex庫也是Crypto的最新版本,但pycryptodomex不包含原來的pycrypto庫,所以要和原來的pycrypto同時安裝,這個庫
是用作已經安裝了pycrypto庫,升級使用的。
這個坑踩完了就結束了?no,no,no。。。。。。
由於crypto是用c++開發的,需要使用c++ build工具和環境。在linux環境下安裝就很容易
Linux Ubuntu
For Python 2.x:
$ sudo apt-get install build-essential python-dev
$ pip install pycryptodomex
$ python -m Cryptodome.SelfTest
For Python 3.x:
$ sudo apt-get install build-essential python3-dev
$ pip install pycryptodomex
$ python3 -m Cryptodome.SelfTest
For PyPy:
$ sudo apt-get install build-essential pypy-dev
$ pip install pycryptodomex
$ pypy -m Cryptodome.SelfTest
通過閱讀官方文檔,發現在windows環境下安裝是相當復雜的,在不同的python版本下安裝都是不一樣的
由於我是在windows上使用,使用的python3.7,而windows的c++編譯環境只能用微軟的virtual studio,由於vs完整版太大了我也不想安裝,
所以我選擇安裝Microsoft C++ Build Tools for visual studio
下載地址:https://visualstudio.microsoft.com/zh-hant/visual-cpp-build-tools/
安裝好了installer后

勾選使用c++的桌面開發,右邊的MSBuild工具,Windos 10 SDK, MSVC v140 vs2015 C++ 生成工具(這個非常重要,如果不勾選編譯安裝就可能會報錯)
選擇好了之后點擊安裝即可。
編譯安裝命令:
pip install pycryptodome --no-binary :all:
安裝完成后可以使用以下commend進行測試:
python -m Cryptodome.SelfTest
如果你是其他python版本,建議你直接看官方文檔里面有如下版本的安裝方法說明
Windows (from sources, Python 2.x, Python <=3.2)
Windows (from sources, Python 3.3 and 3.4)
總結:
Microsoft C++ Build Tools的安裝不難,但生成工具一定要選擇 MSVC v140 vs2015 C++ 生成工具 這一項,不然編譯安裝時就是
各種報錯找不到文件或者找不到編譯環境。