PyGithub修改默认分支报can't set attribute错误如何解决
错误原因
PyGithub 的 Repository 对象中,default_branch 是只读属性,不支持直接赋值修改,这就是你触发 AttributeError: can't set attribute 报错的根本原因,和账号权限、目标分支是否存在无关。
正确写法
修改仓库默认分支需要调用 Repository 类提供的 edit() 方法,将目标分支名作为 default_branch 参数传入即可,修正后的代码如下:
from github import Github g = Github("github token", verify=False, base_url="url to repo") repo = g.get_repo("repo name") # 调用edit接口更新仓库配置 repo.edit(default_branch='release')
校验方式
修改完成后可重新获取仓库实例验证结果:
# 重新拉取仓库最新配置 updated_repo = g.get_repo("repo name") print(updated_repo.default_branch) # 正常会输出 release
注:
repo.edit()方法支持同时修改多个仓库配置项,比如仓库描述、可见性、议题功能开关等,多个配置变更可以合并到同一次edit调用中,减少接口请求次数。
内容的提问来源于stack exchange,提问作者Salmaan Ali
相关产品推荐
相关产品推荐

