一、概述
目前有一個python腳本,需要在別的電腦中運行,安裝python環境太麻煩,封裝成exe文件,運行比較方便。
二、演示
環境說明
python版本:3.7.9
操作系統:windows 10
安裝模塊
pip3 installer pyinstaller
封裝
新建目錄test,目錄結構如下:
./
├── conf.py
└── test.py
conf.py
# !/usr/bin/python3 # -*- coding: utf-8 -*- people_dict = [ { "name":"張三", "age":'23' }, { "name":"李四", "age":'21' } ]
test.py
# !/usr/bin/python3 # -*- coding: utf-8 -*- import conf import json with open('ret.txt',encoding='utf-8',mode='w') as f: f.write(json.dumps(conf.people_dict))
打開cmd窗口,進入test目錄,執行:
pyinstaller -F -c test.py
注意:test.py是主程序
輸出:
... 7908 INFO: checking EXE 7909 INFO: Building EXE because EXE-00.toc is non existent 7912 INFO: Building EXE from EXE-00.toc 7913 INFO: Appending archive to EXE E:\python_script\test\dist\test.exe 7921 INFO: Building EXE from EXE-00.toc completed successfully.
它會創建2個目錄,分別是build和dist。
進入dist,里面有一個test.exe程序,雙擊打開即可。
運行之后,會創建一個文件ret.xt。這個是py程序做的,用來判斷程序是否執行。
打開文件,查看內容
ok,程序運行正常。
總結
將py文件,打包成exe還是很方便的。注意-c參數,指定為主程序即可。
對於讀取動態配置文件的需求,不能將配置文件定義為py文件,因為封裝成exe之后,就無法修改了。
解決方案就是,將配置文件改成json文件,然后主程序讀取json文件,並使用json.loads()轉換一下,就可以了。
需要特別注意json文件和exe文件,在同一目錄。
本文參考鏈接: