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

Playwright运行报错:ModuleNotFoundError: No module named 'pyee.asyncio'

解决Playwright报错:ModuleNotFoundError: No module named 'pyee.asyncio'

问题背景

在WSL2的Ubuntu18.04环境下运行Playwright异步代码时,出现模块找不到的错误,具体报错为ModuleNotFoundError: No module named 'pyee.asyncio'。

环境配置

ubuntu18.04(wsl2)
playwright 1.29.1
pyee 8.22
scrapy-playwright 0.024

运行代码

import asyncio
from playwright.async_api import async_playwright
import time

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch_persistent_context(headless=False, user_data_dir='', args=['--disable-infobars'])
        page = await browser.new_page()
        await page.goto('https://www.baidu.com')
        time.sleep(100)
        await page.close()

asyncio.run(main())

报错回溯

Traceback (most recent call last):
  File "/home/edmounds/tieba/test2.py", line 2, in <module>
    from playwright.async_api import async_playwright
  File "/home/edmounds/.local/lib/python3.9/site-packages/playwright/async_api/__init__.py", line 25, in <module>
    import playwright.async_api._generated
  File "/home/edmounds/.local/lib/python3.9/site-packages/playwright/async_api/_generated.py", line 25, in <module>
    from playwright._impl._accessibility import Accessibility as AccessibilityImpl
  File "/home/edmounds/.local/lib/python3.9/site-packages/playwright/_impl/_accessibility.py", line 17, in <module>
    from playwright._impl._connection import Channel
  File "/home/edmounds/.local/lib/python3.9/site-packages/playwright/_impl/_connection.py", line 25, in <module>
    from pyee.asyncio import AsyncIOEventEmitter
ModuleNotFoundError: No module named 'pyee.asyncio'

问题原因

你安装的pyee 8.22版本与playwright 1.29.1不兼容。pyee从8.x版本开始调整了异步模块的导入路径,将AsyncIOEventEmitter从pyee.asyncio迁移到了pyee.asyncio.asyncio,而旧版本的Playwright仍然使用旧的导入路径,导致找不到模块。

解决方案

1. 降级pyee到兼容版本

执行以下命令降级pyee到7.x版本(与playwright 1.29.1兼容):

pip install pyee==7.0.4 --force-reinstall

或者指定版本范围:

pip install "pyee<8" --force-reinstall

2. 验证安装

安装完成后,在Python环境中验证导入是否正常:

from pyee.asyncio import AsyncIOEventEmitter

如果没有报错,说明版本兼容。

3. 重新运行代码

再次执行你的Playwright代码,应该可以正常启动浏览器并访问页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 16:13:35