当前位置: 首页 > 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

http://www.mrgr.cn/news/99047.html

相关文章:

  • 剑指Offer(数据结构与算法面试题精讲)C++版——day15
  • Github 2FA(Two-Factor Authentication/两因素认证)
  • Linux驱动开发--阻塞、非阻塞I/O
  • 【面试向】点积与注意力机制,逐步编码理解自注意力机制
  • 如何对docker镜像存在的gosu安全漏洞进行修复——筑梦之路
  • 【笔记】网路安全管理-实操
  • 【OpenGL】OpenGL学习笔记-1:VS2019配置OpenGL开发环境
  • Workflow轻量级工作流引擎实现
  • c++ 类的语法1
  • velocity模板引擎
  • 外接键盘与笔记本命令键键位不同解决方案(MacOS)
  • PSN港服跳过生日找回密码(需要英语对话,需要注册的id)
  • CANFD技术在新能源汽车通信网络中的应用与可靠性分析
  • 使用ref和refs获取DOM元素和组件方法,使用$nextTick解决Vue异步更新的逻辑下无法获取DOM的问题
  • GIS开发笔记(6)结合osg及osgEarth实现半球形区域绘制
  • 论文阅读:2024 ICLR Workshop. A STRONGREJECT for Empty Jailbreaks
  • 数据结构实验7.2:二叉树的基本运算
  • 测风塔布局算法详解:基于宏观分区与微观定量选址的双阶段优化方法
  • 计算机视觉cv2入门之车牌号码识别
  • MLLMs for TSAD ?