当前位置: 首页 > news >正文

命令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

相关文章:

  • 关于数字信号与图像处理——基于Matlab的图像增强技术
  • vue3 watch和watchEffect 的用法和区别
  • 【T型三电平仿真】SVPWM调制
  • MCS-51单片机汇编语言编程指南
  • 黑马商城(五)微服务保护和分布式事务
  • PHP异常处理__RuntimeException运行时错误
  • ZLMediaKit流媒体服务器
  • c++:线程(std::thread)
  • PHP中的ReflectionClass讲解【详细版】
  • GPT-SoVITS 使用指南
  • Linux网络服务之防火墙
  • Datawhale AI春训营 世界科学智能大赛--合成生物赛道:蛋白质固有无序区域预测 小白经验总结
  • (附邀请码)探秘扣子空间:排盘优美,魅力无限
  • C#学习第17天:序列化和反序列化
  • 数据结构0基础学习堆
  • PHP获取大文件行数
  • 实现Azure Function安全地请求企业内部API返回数据
  • springAi---智能客服
  • Python语法系列博客 · 第4期[特殊字符] 函数的定义与使用:构建可复用的模块
  • 机器学习误差图绘
  • 北京顺义潮白河大桥主跨坍塌原因公布,已成立事故调查组
  • 讲武谈兵|英国公布六代机最新渲染图,但研发面临多重难题
  • 中国驻日本大使馆发言人就日方涉靖国神社消极动向答记者问
  • 事故调查报告:东莞一大楼装修项目去年致1人死亡,系违规带电作业
  • 工人日报评一些旅行社不收记者律师:“拒客黑名单”暴露心虚病
  • 服务业扩大开放,金融、医疗等多领域明确155项试点任务