微信自动推送失败(Error: Version 3.9.1 with arch x64 not found)

这几天发现微信推送程序出现了问题,查询了一下在贴吧里看到一位大佬(找不到带有arch x64的3.9.1版本!!!【github吧】_百度贴吧)的解决方案,记录一下。

问题是已经运行了一百多天的程序,突然这几天开始不好使了。 

根据描述提示是3.9.1版本的Python没找到。

 根据帖子知道actions/setup-python (当前最新是 v4)支持在两个地方寻找可用的 Python 版本,一个是在用户指定的 Runner Images 缓存中寻找(优先),另一个是在 actions/python-versions 中寻找(次要)。

由于教程的原因我跟楼主使用的 Runner 统一是 ubuntu-latest ,这对应了目前最新的 Ubuntu 22.04 LTS 。首先去 GitHub 官方的 Runner Images 信息中查询了关于 Python 的已缓存版本,其中可以直接从缓存释放安装的版本是 v3.9.15 ,需要的 v3.9.1 确实没有被提前缓存,因此会提示那个 "not found in the local cache" 。

 actions/setup-python 会在本地缓存找不到之后,会去 actions/python-versions 的 JSON 配置文件里寻找用户指定版本并下载安装。于是找到了这个 JSON 文件,其中关于 Python v3.9.1 的所有预编译二进制文件(如下图),其中 Ubuntu 上有3个二进制压缩包,但里面并没有给 Ubuntu 22.04 LTS 使用的压缩包。

 

 综上,Python v3.9.1 在 GitHub 这里是不支持 Ubuntu 22.04 LTS 的,所以我们使用的 Workflows 配置文件会出问题。尽管 GitHub 的帮助文档中把 "ubuntu-latest" 标签打在了 Ubuntu 20.04 LTS 之上,但后面也有一个提示说他们在逐步把这个标签转移到 Ubuntu 22.04 LTS 去,"ubuntu-latest" 将会随机分发 20.04 与 22.04 ,可能是这个原因导致的。

 

至于解决方案也有两个:修改项目的 Workflow Config (那个 weixin.yml 文件)

一是将 Python 版本提升到 Ubuntu 22.04 LTS 同样支持的 v3.9.12 。

二是保持 Python v3.9.1 ,将 Runner Image 修改为 ubuntu-20.04 。

 

经测试改为3.9.12后成功运行。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值