此方式打包可以打包多个文件(多个py文件,其他资源文件)到一个exe运行文件中。
pyinstaller -F --add-binary "D:\python\code\chromedriver.exe";"." -i C:\Users\feng\Desktop\e0fb.ico --name ae_v1.1.2022.10.21 E:\smallTools\python\main_v3.py
1. pyinstaller
python 常用打包命令
2. -F
打包为一个exe文件,其他资源文件没有
3. --add-binary
添加资源文件(是键值对形式,使用;分号间隔,前面的值是需要打包的文件,后面的是文件夹,默认直接用.)
详细可参考链接:
https://www.bilibili.com/read/cv12744142
4. -i
打包生成的exe软件的图标(需要ico格式)
在线转换ico格式网址:
https://onlineconvertfree.com/zh/convert/
5. --name
生成的exe软件别名
6. 最后是需要打包的py文件,多个文件依次往后面放就可以了
如果使用chromedriver.exe进行网页滚动相关的操作,chromedriver.exe文件打包后有可能访问不到,需要在代码中修改相关文件访问路径。
# 获取chromedriver.exe路径
if getattr(sys, 'frozen', False):
# 从exe包里找chromedriver依赖驱动的情况
chromedriver_path = os.path.join(sys._MEIPASS, "chromedriver.exe")
else:
# 本地(未打包成exe时调用依赖)
chromedriver_path = 'chromedriver.exe'
browser = webdriver.Chrome(executable_path=chromedriver_path, chrome_options=option, desired_capabilities={"page_load_strategy": "none"})
browser.get(url)
其他相关文件可以进行类似操作
添加加密参数,多个数据文件添加参考
pyinstaller -F -c --key=qwertyuiop --add-data=config.ini;. --add-data=Packet.json;. -n=OBU上位机测试程序 main.py
其他还参考了