Python編碼執行檔案exe反編譯基礎
Python指令碼非常強大,實現功能也比較方便快捷,但它需要在特定的Python環境下執行,受版本、依賴庫的影響很大,為了方便共享,可以使用如Pyinstaller將python程式碼、依賴庫和編譯環境等一鍵打包成可執行程式exe。基本流程如下:
編譯測試指令碼
為了方便演示,這裡編寫兩個指令碼main.py和mylib.py,前者呼叫後者的函式,輸出兩句話。
執行結果如下,可以看在同時也生成了名為"__pycache__"的快取資料夾,裡面放的py檔案的二進位制編譯結果mylib.cpython-37.pyc和mylib.cpython-37.pyc
打包應用程式
這裡使用pyinstaller來打包,安裝命令:
pip install pyinstaller
打包命令
Pyinstaller -F 原始碼檔案.py
打包日誌如下:
打包成功在dist檔案中為exe可執行檔案,執行效果如下:
常見問題解決
問題1:pyinstaller不是內部或者外部命令
已經安裝了pyinstaller,但執行打包命令時,仍然提示 pyinstaller不是內部或者外部命令
解決:先使用pip show pyinstaller檢查是否正確安裝;如果已安裝將pyinstaller.exe檔案拷到Python的Scripts目錄下。
問題2:打包工具是否有圖形化工具
解決:有的。安裝auto-py-to-exe
問題3:安裝下載元件慢。
解決:使用國內映象下載。如:
清華:https://pypi.tuna.tsinghua.edu.cn/simple
阿里雲:http://mirrors.aliyun.com/pypi/simple/
中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
華中理工大學:http://pypi.hustunique.com/
山東理工大學:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
作者:我也是個傻瓜
出處:http://www.cnblogs.com/liweis/
簽名:成熟是一種明亮而不刺眼的光輝。