(base) D:\testLO\testLO>conda env create --file env.yaml
Solving environment: failed
CondaValueError: Malformed version string '~': invalid character(s).
(base) D:\testLO\testLO>conda env create --file env.yaml
Solving environment: failed
CondaValueError: Malformed version string '~': invalid character(s).
引自免费微信小程序:皆我百晓生
遇到conda
在尝试从yaml
文件创建环境时出现CondaValueError: Malformed version string '~': invalid character(s)
错误,这通常意味着yaml
文件中的版本约束被错误地指定。~
字符在某些情况下用于表示版本范围,但在conda
环境中可能不被正确解析。
为了解决这个问题,首先检查env.yaml
文件中涉及到版本控制的部分。确保所有版本约束都以conda
可识别的格式书写。例如,如果你想指定一个包的特定版本范围,你应该使用>=
和<
而不是~
。例如:
dependencies:
- python=3.7.*
- numpy>=1.15,<2.0
- pandas>=0.24
上述示例中,python=3.7.*
指定了Python的主次版本为3.7,而numpy
和pandas
的版本则分别被限制在了特定范围内。
如果在yaml
文件中发现使用了~
或其他非标准版本约束,修改它们以符合conda
的要求。保存文件后,再次尝试运行:
conda env create --file env.yaml
如果env.yaml
文件包含复杂的依赖关系,可能需要更详细的版本控制,确保每个包的版本兼容。在这种情况下,可以考虑使用conda
的解决器来自动管理这些依赖关系,避免手动指定过于具体的版本。
如果问题仍然存在,尝试更新conda
到最新版本,因为新版本可能包含了对旧版本中存在问题的修复。可以通过以下命令更新conda
:
conda update conda
完成以上步骤后,重新尝试创建环境。如果还有任何问题,提供env.yaml
文件的具体内容,以便进行更深入的分析。