InvalidVersionSpecError: Invalid version spec: =2.7

文章讲述了在使用conda4.5.11版本时遇到的更新和安装包错误,以及在base环境下无法更新conda的问题。作者提供了一个修改version.py文件中正则表达式来解决此问题的方案,并提到了由于中科大和清华源不再合作,建议切换到阿里云镜像源进行更新。另外,尝试直接更新conda到最新版本出现了新的错误,选择安装特定版本4.9.2作为解决策略。
摘要由CSDN通过智能技术生成

适用Base环境:

conda更新/安装任何包(包括更新自己均报错)

conda版本4.5.11(太旧)

anaconda版本5.3.0

解决:

1其他环境可参考我的另一篇帖子

base环境:conda更新不了。

D:\Anaconda3\Lib\site-packages\conda\models\version.py 文件的第 396 396396 行从

version_relation_re = re.compile(r'(==|!=|<=|>=|<|>)(?![=<>!])(\S+)$')
regex_split_re = re.compile(r'(\^\S+?\$)')
regex_split_converter = {
    '|': 'any',
    ',': 'all',
}
opdict = {'==': op.__eq__, '!=': op.__ne__, '<=': op.__le__,
          '>=': op.__ge__, '<': op.__lt__, '>': op.__gt__}

改为

version_relation_re = re.compile(r'(==|!=|<=|>=|<|>|=)(?![=<>!])(\S+)$')
regex_split_re = re.compile(r'(\^\S+?\$)')
regex_split_converter = {
    '|': 'any',
    ',': 'all',
}
opdict = {'==': op.__eq__, '!=': op.__ne__, '<=': op.__le__, '=': lambda x, y: x.startswith(y),
          '>=': op.__ge__, '<': op.__lt__, '>': op.__gt__}

更新时卡在 solving environments:

中科大和清华源不再合作,用阿里:

conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main
 
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r
 
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2
 
conda config --set show_channel_urls yes 

自己直接更新conda到22.x最新报错, 出现CondaError: Cannot link a source that does not exist.

仍有些源下载包时报错。

选择 conda install conda=4.9.2

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值