pip 怎么解决两个第三方依赖库的版本冲突的问题

200 天前
 timerring

如题,俩库都不是自己写的:

The conflict is caused by:
    google-genai 0.0.1 depends on pydantic<3.0.0dev and >=2.0.0
    fastapi 0.88.0 depends on pydantic!=1.7, !=1.7.1, !=1.7.2, !=1.7.3, !=1.8, !=1.8.1, <2.0.0 and >=1.6.2

google-genai 是我要装的库,到 initial 的 0.0.1 版本也是 pydantic>=2.0.0

另一个库是我要装的核心库,它从第一版就只要求 fastapi 0.88.0 ,对应要求则是 pydantic<2.0.0

这种情况老哥们有什么解决的办法吗🤔

2662 次点击
所在节点    Python
13 条回复
iyaozhen
200 天前
我理解是解决不了 只能让你另一个核心库升级
renmu
200 天前
找找老版本,或者强制装试试,不一定用的 api 刚好被改了,不然就只能手动了。。
InDom
200 天前
Docker
Cooky
200 天前
conda
Insolitude
200 天前
有个邪道路子,手动下载 whl 文件,然后用 wheel 解压,更改依赖版本,然后重新打包安装,最后祈祷不会报错。当然也可以解压了改代码,更新到新版本
Vegetable
200 天前
很难解决,fork 一下另一个库,把 fastapi 升级一下。
ClericPy
198 天前
干过类似的,直接猴子补丁篡改人家源码或者挂补丁

反正早年间不重复造轮子,晚年以后尽量不引用第三方的玩意,依赖冲突太麻烦了,很多 1.0 以前版本的更慎重,毕竟没 stable 的版本意味着一两个月以后就升级的面目全非的了
iorilu
198 天前
重搞个虚拟环境, 装你要的版本

然后手动复制覆盖老版本
tomczhen
198 天前
要么维护者升级,要么自己 fork 一份代码从源码安装,有冲突的代码还需要修复。
jamos
198 天前
逐步提高 fastapi 版本,或者降低 google-genai 版本
momocraft
198 天前
pydantic 被太多东西依赖了 不如用新的 fastapi
Martin123123
198 天前
优先建议 fastapi 升级,pydantic 2.0 可以手动该代码兼容历史的旧模块
timerring
194 天前
感谢老哥们的回答,核心库的作者已经失联了,为了避免修改核心库带来的可能潜在更复杂的问题,最后我降了 google genai 的 sdk ,选择了已经 archived 的 google generative 的 sdk ,没有冲突了,勉强凑活能用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1123218

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX