欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > 命令update-alternatives

命令update-alternatives

2025/4/20 14:06:47 来源:https://blog.csdn.net/Yqha1/article/details/147357240  浏览:    关键词:命令update-alternatives
which pip
/home/ying/anaconda3/bin/pip
ying@192 ~ [2]> which pip
/usr/bin/pip

使用update-alternatives对他们进行管理和切换
快捷方式 和 实际路径不可以相同
所以我这边选择了/usr/local/bin目录作为介质存储快捷方式,另外该快捷方式会自己创建我们只需选择目录即可。

sudo update-alternatives --install /usr/local/bin/pip pip /usr/bin/pip3 10
sudo update-alternatives --install /usr/local/bin/pip pip /home/ying/anaconda3/bin/pip3 20

卸载/退出管理

sudo update-alternatives --remove pip <pip实际路径>
sudo update-alternatives --remove pip /usr/bin/pip
sudo update-alternatives --remove pip /home/ying/anaconda3/bin/pip

选择版本

sudo update-alternatives --config pip

意外

眼尖的朋友可能一眼就看到了问题,我手动切换并没有改变pip的问题

❯ pip --version
pip 25.0 from /home/ying/anaconda3/lib/python3.11/site-packages/pip (python 3.11)sudo update-alternatives --config pip
There are 2 choices for the alternative pip (providing /usr/local/bin/pip).Selection    Path                          Priority   Status
------------------------------------------------------------0            /home/ying/anaconda3/bin/pip   20        auto mode1            /home/ying/anaconda3/bin/pip   20        manual mode
* 2            /usr/bin/pip                   10        manual modePress <enter> to keep the current choice[*], or type selection number: ^C
❯ pip --version
pip 25.0 from /home/ying/anaconda3/lib/python3.11/site-packages/pip (python 3.11)

这是因为我的
/home/ying/anaconda3/bin路径在/usr/bin之前。

echo $PATH
/home/ying/anaconda3/bin:/home/ying/anaconda3/condabin:/home/ying/.nvm/versions/node/v22.13.1/bin:/home/ying/.cargo/bin:/home/ying/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/go/bin:/home/ying/.local/share/JetBrains/Toolbox/scripts:/home/ying/go/bin

通过export临时将/usr/bin调到/home/ying/anaconda3/bin之前。就可以解决该问题。

export PATH=/usr/bin:$PATHecho $PATH
/usr/bin:/home/ying/anaconda3/bin:/home/ying/anaconda3/condabin:/home/ying/.nvm/versions/node/v22.13.1/bin:/home/ying/.cargo/bin:/home/ying/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/go/bin:/home/ying/.local/share/JetBrains/Toolbox/scripts:/home/ying/go/bin
❯ pip --version
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)

fish永久生效配置

bash,zsh可以直接修改.bashrc,.zshrc文件。如果是fish shell就不可以直接修改这种配置文件了。

# 临时修改 PATH 环境变量
set -gx PATH /usr/bin $PATH# 查看 pip 版本
pip --version# 若临时修改有效,永久修改 PATH 环境变量
nano ~/.config/fish/config.fish
# 在文件中添加 set -gx PATH /usr/bin $PATH
# 保存并退出文件# 使修改生效
source ~/.config/fish/config.fish# 再次查看 pip 版本
pip --version

其他

然后我发现我的fish为什么不能直接执行Juypter这些软件了,因为我没有添加它到环境变量中。

vim ~/.config/fish/config.fish
  1 if status is-interactive2     # Commands to run in interactive sessions can go here3 end4 5 #交互进程外6 
set -gx PATH /home/ying/anaconda3/bin $PATHset -gx PATH /usr/bin $PATH
source ~/.config/fish/config.fish

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词