正文
想象一下,项目环境中同时引入了Conda包管理和pip包管理,某个依赖A 2.0需要2.0版本的C,而某个依赖B需要1.0版本的C,若先用conda安装了B,后用pip安装A,Conda会自动重新安装低版本的C,循环往复。
再想象一下某个组件需要的低级组件只能在3.7python中使用,那都是什么年代的产物了,必然安装不了了。
以上内容均发生在hummingbot打包发布阶段,原项目组的包根本无法正常使用,其中版本限定宽松,
默认会使用python313,部分老旧库无法运行,且引入了未被使用的过时依赖,每次打包还需要编译C文件,折腾了很久,肥肠之痛苦。
对于wheel安装若无版本限定,依据pip依赖回溯规则,会尝试全部包版本的组合尝试,费事费力费流量。因此以后务必在发布包之前写好版本限定,应当严格限定可以运行的最低版本号组合,以及至少限定不高于当前大版本的版本号,以避免大版本破环性更新。