使用conda基于requirements.txt创建环境时出现InvalidVersionSpec错误
解决conda环境创建时的InvalidVersionSpec错误
问题原因
导出的requirements文件中版本号包含多余空格(如3 . 8 . 4),导致conda无法正确解析版本规范。
解决步骤
- 手动修复文件格式:打开
requirements-langchain.txt,找到报错的行(如aiohttp= 3 . 8 . 4=pypi_0),删除版本号中的空格,改为aiohttp=3.8.4=pypi_0;如果有大量类似问题,用文本编辑器的批量替换功能,把.替换为.,把=替换为=。 - 使用正确的环境导出/创建命令:
- 导出完整环境(推荐):用
conda env export --name your_source_env > env.yaml,创建环境时执行conda env create --file env.yaml,该格式包含完整环境配置,避免格式解析问题。 - 导出精简依赖:若需用
conda create命令,执行conda list --export --no-builds > requirements.txt,忽略build信息(如pypi_0),导出的依赖格式为aiohttp=3.8.4,兼容性更强。
- 导出完整环境(推荐):用
- 升级conda版本:旧版conda对格式解析可能存在bug,执行
conda update conda升级到最新稳定版后再尝试创建环境。 - 匹配平台环境:原环境为win-64,若目标电脑是其他平台,导出时添加
--platform win-64参数指定平台,避免跨平台依赖不兼容:conda env export --name your_source_env --platform win-64 > env.yaml。
内容的提问来源于stack exchange,提问作者Francisco Ghelfi
相关产品推荐
相关产品推荐

