cosmos transfer2.5提供了用uv来安装的办法,uv安装包时候的依据是:
uv.lock中规定的下载链接和pyproject.toml中规定的安装依赖。
按照cosmos transfer2.5中的说法是安装在conda环境中用:
bash
uv sync --extra=cu128 --active --inexact
这段指令的含义是把uv下载在.venv中的包的版本和uv.lock和pyproject.toml中对齐,同时保证相关python解释器依赖路径是在当前active的conda环境中,且对齐的方法是inexact。
自从Cosmos transfer2.5比较新的版本发布后,部分下载包的链接发生了变动,这就导致在使用的时候transformer engine和torch的版本不对齐进而报错。
苦思冥想采用了各种uv remove再下载的办法但是都是治标不治本,每次uv run的时候uv都会强迫症般的检查一遍包之间的关系并复原。
最终的解决办法是先删除.venv再用命令:
bash
uv sync --extra=cu128 --active
但是这样再uv run还是失败了,然后查看了uv的官网,发现了这样的说法:

即为了避免uv run调用的时候更新环境可以采用--no-sync标志