louis16s 发表于 2022-3-6 00:07

playwright在pyinstaller下打包

本帖最后由 louis16s 于 2022-3-9 13:05 编辑

【3.9更新】python3.7下打包会出现问题,更新版本即可截止到我写下这个文章的时候
仅有一个中文网站转载了GitHub上
playwright issue里面的一个教程,但是并不好用
最后我在playwright官方文档下找到了方法

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto("http://whatsmyuseragent.org/")
    page.screenshot(path="example.png")
    browser.close()

在cmd中输入如下代码
set PLAYWRIGHT_BROWSERS_PATH=0playwright install chromium
pyinstaller -F main.py
又或者是powershell
$env:PLAYWRIGHT_BROWSERS_PATH="0"playwright install chromium
pyinstaller -F main.py

normandie2008 发表于 2022-3-6 14:02

ReLoading 发表于 2022-3-6 12:35
chrome 浏览器的路径
白话:你的电脑里面安装的chrome浏览器 在什么地方,没安装,就自己安装一个

谢谢您的解释,可是程序我时打包给别人使用的,对方没有这个路径下的浏览器的话也是无法使用的吧

louis16s 发表于 2023-1-2 20:02

实际上,
executable_path=C:\Program Files\Google\Chrome\Application\chrome.exe和channel=chrome,
是没有区别的

ReLoading 发表于 2022-3-6 09:31

本帖最后由 ReLoading 于 2022-3-6 09:32 编辑

#参数里面 可以指定chrome路径,或者放在配置文件里面,这样更灵活,直接pyinstaller 打包

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(
      executable_path=r"C:\Program Files\Google\Chrome\Application\chrome.exe"
    )
    page = browser.new_page()
    page.goto("http://whatsmyuseragent.org/")
    page.screenshot(path="example.png")
    browser.close()

normandie2008 发表于 2022-3-6 11:59

ReLoading 发表于 2022-3-6 09:31
#参数里面 可以指定chrome路径,或者放在配置文件里面,这样更灵活,直接pyinstaller 打包



chrome文件是哪里搞呢?就这"C:\Program Files\Google\Chrome\Application\chrome.exe

Xw丶小威 发表于 2022-3-6 12:15

前几天刚刚搜了半天没有结果,今天就有人分享了。缘分啊。

ReLoading 发表于 2022-3-6 12:35

normandie2008 发表于 2022-3-6 11:59
chrome文件是哪里搞呢?就这"C:\Program Files\Google\Chrome\Application\chrome.exe

chrome 浏览器的路径
白话:你的电脑里面安装的chrome浏览器 在什么地方,没安装,就自己安装一个

fatfanshu 发表于 2022-3-6 14:21

英语好有耐心可以仔细看看官方的说明文档,有解释怎么打包完整浏览器
https://playwright.dev/python/docs/intro#pyinstaller
$env:PLAYWRIGHT_BROWSERS_PATH="0"
playwright install chromium
pyinstaller -F main.py
设置playwright浏览器路径在python下,安装chromium(建议只安装需要用的,不然会很臃肿)
亲身实践,总之打包后几百兆少不了...唯一的缺点吧

louis16s 发表于 2022-3-8 23:12

playwright打包之后控制台的窗口好像没法隐藏
pyinstaller -w 也不行

banro512 发表于 2022-3-21 20:33

louis16s 发表于 2022-3-8 23:12
playwright打包之后控制台的窗口好像没法隐藏
pyinstaller -w 也不行

是的。同样问题,隐藏不掉那个dos窗口

q546624527 发表于 2022-9-2 15:20

本帖最后由 q546624527 于 2022-9-7 16:23 编辑

打包后,还是不能运行。都试了。

2022-9-6
更新到python 3.10 后,正常运行了。原来的是python 3.9,不知道是不是python版本的问题..
页: [1] 2
查看完整版本: playwright在pyinstaller下打包