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

Python3.7运行TikTokApi代码报cannot import sync_playwright错误

问题概述

触发报错:ImportError: cannot import name 'sync_playwright' from 'playwright'
运行环境:Python 3.7
报错截图:
报错截图
待运行原始代码:

import TikTokApi
api = TikTokApi.get_instance(use_selenium=True, executablePath="C:\Program Files(x86)\Google\Chrome\Application")
user = api.user(username="therock")
for video in user.videos():
      print(video.id)

for liked_video in api.user(username="public_likes").videos():
      print(liked_video.id)
报错根因
  • Python版本与依赖版本不兼容:sync_playwright是Playwright的同步调用入口,Playwright自1.37版本起正式停止对Python 3.7的支持,在Python3.7环境下安装高版本Playwright时,会因为语法、依赖逻辑不匹配出现模块导入失败;如果安装的是过低版本Playwright,又会因为尚未内置sync_playwright方法触发同样报错。
  • TikTokApi版本与初始化逻辑不匹配:代码中使用的get_instance()、use_selenium=True都是5.x早期版本TikTokApi的写法,6.0之后的TikTokApi已经完全移除Selenium支持,默认绑定Playwright作为浏览器驱动,新旧版本API混用会触发依赖加载异常。
  • Playwright安装流程缺失:仅通过pip安装Playwright主包不会自动下载浏览器二进制依赖,安装不完整时也可能出现模块导入异常。
解决方案

按优先级选择以下方案即可:

  1. 升级Python版本(推荐)
    将本地Python环境升级到3.8及以上的稳定版本(最高支持到3.11,兼容性最好),从根源解决所有依赖的版本兼容问题。升级后重新安装依赖:

    pip install --upgrade pip
    pip install TikTokApi playwright
    playwright install
    

    同时适配新版TikTokApi的API写法,修改代码如下:

    from TikTokApi import TikTokApi
    # 新版TikTokApi要求使用上下文管理器初始化实例
    with TikTokApi() as api:
        user = api.user(username="therock")
        for video in user.videos():
            print(video.id)
    
        liked_user = api.user(username="public_likes")
        for liked_video in liked_user.videos():
            print(liked_video.id)
    
  2. 固定兼容版本适配Python3.7(仅临时使用)
    如果暂时无法升级Python,先卸载现有冲突包,再安装Python3.7适配的最后一版兼容依赖:

    pip uninstall -y TikTokApi playwright
    pip install playwright==1.36.0
    pip install TikTokApi==5.2.2
    playwright install
    

    安装完成后即可运行Selenium模式代码,注意把代码里Windows路径的反斜杠做转义,或者改成原始字符串避免转义错误:

    import TikTokApi
    # 路径前加r标记为原始字符串,避免\x转义导致路径识别错误
    api = TikTokApi.get_instance(use_selenium=True, executablePath=r"C:\Program Files(x86)\Google\Chrome\Application")
    user = api.user(username="therock")
    for video in user.videos():
          print(video.id)
    
    for liked_video in api.user(username="public_likes").videos():
          print(liked_video.id)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 02:15:38