You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Codespaces中安装snapd并修复Pyppeteer运行问题?

解决GitHub Codespaces中Pyppeteer配合Chromium的运行问题

关于Codespaces中Snap的使用限制

你遇到的snapd.socket不存在的错误,本质是GitHub Codespaces默认禁用了Snap服务。Codespaces基于容器化部署,而Snap运行依赖systemd及特定挂载配置,容器环境无法提供这些支持,因此无法在Codespaces中正常使用Snap安装软件。

替代方案1:通过apt安装Chromium并配置Pyppeteer

直接用apt安装Chromium,再让Pyppeteer指定使用该版本浏览器,步骤如下:

  • 安装Chromium及依赖组件:
    sudo apt update && sudo apt install -y chromium-browser chromium-codecs-ffmpeg
    
  • 确认Chromium可执行文件路径(通常为/usr/bin/chromium-browser):
    which chromium-browser
    
  • 在Pyppeteer代码中指定浏览器路径并添加容器运行必需参数:
    import asyncio
    from pyppeteer import launch
    
    async def main():
        browser = await launch(
            executablePath='/usr/bin/chromium-browser',
            args=['--no-sandbox', '--disable-dev-shm-usage']
        )
        page = await browser.newPage()
        await page.goto('https://example.com')
        # 此处添加你的网页爬取逻辑
        content = await page.content()
        print(content)
        await browser.close()
    
    asyncio.get_event_loop().run_until_complete(main())
    
    其中--no-sandbox和--disable-dev-shm-usage是容器环境运行Chromium的必备参数,用于规避权限及内存不足问题。

替代方案2:使用Pyppeteer自带的Chromium

Pyppeteer会自动下载适配版本的Chromium,可尝试强制重新安装并使用自带版本:

  • 卸载现有Pyppeteer(可选,确保环境干净):
    pip uninstall -y pyppeteer
    
  • 重新安装Pyppeteer:
    pip install pyppeteer
    
  • 运行代码时只需添加容器运行参数,无需额外指定浏览器路径:
    import asyncio
    from pyppeteer import launch
    
    async def main():
        browser = await launch(args=['--no-sandbox', '--disable-dev-shm-usage'])
        page = await browser.newPage()
        await page.goto('https://example.com')
        # 此处添加你的网页爬取逻辑
        content = await page.content()
        print(content)
        await browser.close()
    
    asyncio.get_event_loop().run_until_complete(main())
    

内容的提问来源于stack exchange,提问作者meatyari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:47:39