1. 程式人生 > >py2exe打包pycrypto加密模組出錯原因

py2exe打包pycrypto加密模組出錯原因

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庫