使用 pyinstaller 打包 playwright 程序

发布于 2024-06-16  3589 次阅读


问题展开目录

在使用 

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

原理展开目录

其实解决这个问题,就要利用 

1
playwright
 预留的 
1
PLAYWRIGHT_BROWSERS_PATH
 环境变量了,通过其内容可以控制 
1
playwright
 调用的浏览器路径。当然,该变量也会影响 
1
playwright install
 安装的路径。而当其值为 
1
0
 时,会将浏览器安装在 
1
python
 路径下的 
1
/site-packages/playwright/driver/package/.local-browsers
 目录中,自然而然可以通过 
1
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"

# finally
playwright install

总结展开目录

如果 

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


三年卧薪尝胆励志凌绝顶,百日刻苦攻读破浪展雄风