py2exe打包pycrypto加密模組出錯原因
阿新 • • 發佈:2018-12-26
py2exe打包pycrypto加密模組出錯問題
1.前言
用python寫了一個小工具,想對一些檔案作一下加密處理,寫好用原始碼使用沒有問題,不過想打包到windows系統作為一個小工具來使用。在使用py2exe打包時發現程式會一直報一個在_AES.py檔案中載入庫的錯誤。
2.解決辦法
1.pycrypto的pip安裝問題
在使用pip安裝pycrypto後,在程式中呼叫時總會報一個
from Crypto.Cipher import AES
載入模組錯誤的問題,在網上找到的解決方法有兩個,
方法1
出現這個錯誤是因為庫Crypto檔名稱大小寫的問題。
可以把安裝的小寫crpto改成大寫的Crpto庫
方法2
第二個方法就是把crpto解除安裝了,只安裝pycrypto
pip uninstall crpto
pip uninstall pycrypto
pip install pycrypto
2.py2exe打包pycrypto時_AES.py載入模組報錯問題
出現這個問題的主要原因是因為我們使用
pip install pycrypto或者easy_install pycrypto安裝pycrypto時是安裝的.egg壓縮方法的庫,py2exe打包時不會對.egg壓縮庫進行解壓,所以出現了找不到庫的錯誤。
解決方法是刪了已經安裝的pycrypto的.egg庫.使用
easy_install --always-unzip pycrypto
來始終使用解壓方式安裝pycrypto庫