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

如何修复TypeError: __init__()意外关键字参数'session_name'报错

错误原因

这个报错是Pyrogram依赖版本不兼容导致的:
你使用的utube机器人代码基于Pyrogram 1.x版本编写,Heroku部署时默认会拉取最新发布的Pyrogram 2.x版本,2.x版本对Client类的初始化参数做了不兼容旧版本的调整,原先用于指定会话文件名的session_name参数被重命名为name,传入旧参数名就会触发你看到的TypeError。

解决方案

二选一即可:

  • 方案1:修改代码适配新版Pyrogram
    打开项目中的/app/bot/utubebot.py文件,找到super().__init__()调用块,把参数session_name=Config.SESSION_NAME修改为name=Config.SESSION_NAME,其余代码保持不变。
    修改后对应代码段如下:
    from pyrogram import Client
    
    from .config import Config
    
    
    class UtubeBot(Client):
        def __init__(self):
            super().__init__(
                name=Config.SESSION_NAME,
                bot_token=Config.BOT_TOKEN,
                api_id=Config.API_ID,
                api_hash=Config.API_HASH,
                plugins=dict(root="bot.plugins"),
                workers=6,
            )
            self.DOWNLOAD_WORKERS = 6
            self.counter = 0
            self.download_controller = {}
    
  • 方案2:固定依赖版本适配旧代码
    如果不想修改业务代码,可以直接把Pyrogram版本固定为代码兼容的1.x最新稳定版:打开项目根目录的依赖声明文件requirements.txt,找到Pyrogram对应的依赖行,修改为pyrogram==1.4.16,重新部署时就会安装兼容版本,不会出现参数不匹配问题。

修改完成后重新推送代码到Heroku触发构建部署,即可解决该启动报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:34:47