Python3安裝加密庫遇到了找不到Crypto(PyCharm自動引用會有問題,一定要人工安裝)
問題描述
- Python 使用時候提示:
import Crypto
ModuleNotFoundError: No module named 'Crypto'
Process finished with exit code 1
- 編譯報錯:
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(27): error C2061: 語法錯誤: 標識符“intmax_t”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(28): error C2061: 語法錯誤: 標識符“rem ”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(28): error C2059: 語法錯誤:“;”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(29): error C2059: 語法錯誤:“}”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(31): error C2061: 語法錯誤: 標識符“imaxdiv_t”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(31): error C2059: 語法錯誤:“;”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(41): error C2143: 語法錯誤: 缺少“{”(在“__cdecl”的前面)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(42): error C2146: 語法錯誤: 缺少“)”(在標識符“_Number”的前面)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(42): error C2061: 語法錯誤: 標識符“_Number”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(42): error C2059: 語法錯誤:“;”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(43): error C2059: 語法錯誤:“)”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(46): error C2143: 語法錯誤: 缺少“{”(在“__cdecl”的前面)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(47): error C2146: 語法錯誤: 缺少“)”(在標識符“_Numerator”的前面)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(47): error C2061: 語法錯誤: 標識符“_Numerator”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(47): error C2059: 語法錯誤:“;”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(47): error C2059: 語法錯誤:“,”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(49): error C2059: 語法錯誤:“)”
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(51): error C2143: 語法錯誤: 缺少“{”(在“__cdecl”的前面)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(57): error C2143: 語法錯誤: 缺少“{”(在“__cdecl”的前面)
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\inttypes.h(64): error C2143: 語法錯誤: 缺少“{”(在
解決方案:
1. 設置環境變量
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\INCLUDE\stdint.h
set CL=/FI"%VCINSTALLDIR%\Tools\MSVC\14.16.27023\INCLUDE\stdint.h" 然後再進行編譯。
2.安裝好以後,可能還是提示不存在:
從安裝日誌看: 有文章提到改大小寫問題就是這個原因,之前安裝過這個小寫開頭的
3.後續
最後我發現安裝好以後,代碼還是有問題。最後發現使用加密庫需要安裝pycryptodome纔對。
PS:(安裝前如已經安裝crypto,pycrypto需要卸載了,Crypto目錄如果存在也刪除掉 )
參考文章:
pip install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple
https://www.cnblogs.com/hiveme/p/8194817.html https://www.52pojie.cn/thread-1260140-1-1.html https://blog.csdn.net/woay2008/article/details/79905627 https://blog.csdn.net/jeammy06061026/article/details/95939089 https://blog.csdn.net/airconan/article/details/88386378