You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Fish Shell中将默认Python解释器改为系统自带版本

解决Fish Shell下默认Python切换为系统版本的问题

核心原因

你猜的没错,conda shell.fish hook确实会在每次启动Shell时,把conda的bin目录(也就是/home/cmaspi/miniconda3/bin)加到PATH的最前端,系统的/usr/bin被挤到后面,默认Python就变成conda base环境的了。直接用set -U PATH修改会被这段hook覆盖,所以得调整路径顺序或者改变conda的激活行为。

两种有效解决方法

方法一:强制把系统路径放到PATH最前面

打开你的~/.config/fish/config.fish,找到那段conda初始化的代码,在这段代码之后添加一行:

set -U prepend PATH /usr/bin

prepend参数会把/usr/bin插入到PATH的最开头,-U是全局生效的设置。这样每次Shell启动时,conda先把自己的路径加上,我们再把系统路径顶到最前面,which python3就会指向/usr/bin/python3了。

方法二:禁止conda自动激活base环境

如果平时不需要默认激活conda的base环境,可以直接关闭自动激活:

conda config --set auto_activate_base false

执行后重启Shell,PATH里就不会自动加入conda的路径,默认Python就是系统版本。需要用conda环境时,手动运行conda activate base或者其他环境即可。

验证是否生效

重启Shell后,执行以下命令确认:

which python3

如果输出是/usr/bin/python3,就说明设置成功了。

内容的提问来源于stack exchange,提问作者Chirag Mehta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 14:02:03