使用 pyinstaller 打包 playwright 程序

2024-08-30 13:24:41 浏览数 (3)

问题

在使用 pyinstaller 打包 playwright 程序,由于 playwright 的浏览器默认是安装在C盘中,所以打包程序时,并不会将其浏览器打包进程序包,就导致在其他的电脑中无法使用。

原理

其实解决这个问题,就要利用 playwright 预留的 PLAYWRIGHT_BROWSERS_PATH 环境变量了,通过其内容可以控制 playwright 调用的浏览器路径。当然,该变量也会影响 playwright install 安装的路径。而当其值为 0 时,会将浏览器安装在 python 路径下的 /site-packages/playwright/driver/package/.local-browsers 目录中,自然而然可以通过 pyinstaller 打包进程序里。

解决

方法一

修改python代码,使其读取绝对路径下的浏览器(不打包进程序)os.environ['PLAYWRIGHT_BROWSERS_PATH'] = "C:/playwright/" # 将其修改为绝对路径

方法二

修改环境变量,将浏览器安装进python内置目录# powershell $env:PLAYWRIGHT_BROWSERS_PATH="0" # Linux export PLAYWRIGHT_BROWSERS_PATH="0" # cmd set PLAYWRIGHT_BROWSERS_PATH="0"finallyplaywright install### 总结

如果 playwright 程序只有一个的话,通过方式二比较方便,如果有多个程序,推荐使用方式一,因为单个程序打包就将近700MB了。

0 人点赞