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

Pipenv依赖哈希不匹配问题求助(跨架构环境)

解决Pipenv跨平台哈希不匹配(pyrsistent==0.18.1)问题

问题根源

pyrsistent==0.18.1在ARM64(Mac M1)和x86_64(Ubuntu 18.04)架构下会生成不同的二进制wheel包,导致哈希值不一致。你在M1上生成的Pipfile.lock记录的是ARM平台的哈希,到Ubuntu流水线自然匹配不上。

可行解决办法

1. 在Ubuntu环境重新生成兼容的锁文件

直接在Ubuntu 18.04(或模拟x86_64的环境)里执行以下命令,保留旧依赖版本的同时生成适配x86平台的锁文件:

pipenv lock --keep-outdated

把新生成的Pipfile.lock提交到代码仓库,流水线就能正常校验哈希了。

2. 临时跳过哈希校验(应急用)

如果暂时没法重新生成锁文件,可以在流水线的安装命令里添加--skip-lock参数跳过哈希检查,但注意这会降低依赖的安全性,只适合临时应急:

pipenv install --keep-outdated --skip-lock o365 shortuuid

3. 指定使用纯Python版pyrsistent

在Pipfile里明确要求pyrsistent使用源码包(纯Python,无平台差异),修改[packages]部分:

[packages]
# 其他依赖保持不变
pyrsistent = {version = "==0.18.1", file = "pyrsistent-0.18.1.tar.gz"}

之后执行pipenv lock --keep-outdated重新生成锁文件,纯Python包的哈希在所有平台都是一致的,不会再出现不匹配问题。

4. 升级pyrsistent到无跨平台问题的版本

如果项目允许更新该依赖,pyrsistent 0.19.0及以后的版本修复了跨平台哈希不一致的问题,执行以下命令升级并更新锁文件:

pipenv install pyrsistent>=0.19.0 --keep-outdated

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 01:50:24