首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python在Heroku上安装PlayWright Chrome的问题

使用Python在Heroku上安装PlayWright Chrome的问题
EN

Stack Overflow用户
提问于 2022-07-21 18:44:43
回答 1查看 236关注 0票数 0

我正在使用WebScraping开发一个PlayWright应用程序,但是当将它部署到heroku上时,它不能使用playwright install命令安装浏览器--我必须直接在heroku控制台上运行这个命令,它可以完成安装,但也没有完成。

我正在使用buildpack https://github.com/mxschmitt/heroku-playwright-buildpack.git

控制台日志

现场运行得很好,但是当你玩heroku这个问题时,我已经尝试过几种解决方案,但没有一种有效。

代码片段。

代码语言:javascript
复制
from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:
    browser = playwright.chromium.launch(chromium_sandbox=False)
    context = browser.new_context()
    page = context.new_page()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-21 19:20:30

Heroku的文件系统是短暂的,也是局部的。在dyno重新启动时,对其所做的任何更改都会丢失。更重要的是,当您运行像heroku run bash这样的程序时,您不会连接到正在运行的dyno。相反,你会得到一个单独的一次性戴诺

在这种环境中安装Chromium (或进行任何其他文件系统更改)不会影响其他dynos中可用的内容。

看起来剧作家真的很想管理自己的浏览器二进制文件。您最好的选择可能是在脚本开头附近运行playwright install,例如:

代码语言:javascript
复制
import subprocess
from playwright.sync_api import sync_playwright

subprocess.run(["playwright", "install"])

with sync_playwright() as playwright:
    # ...

这应该确保所需的二进制文件始终在运行时可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73071242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档