当前位置: 首页 > 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.xdnf.cn/news/27739.html

相关文章:

  • javaSE.判空包装类
  • JavaScript 的演变:2023-2025 年的新特性解析
  • Linux学习——信号量
  • 【后端开发】Spring日志
  • 计算机软考中级 知识点记忆——排序算法 冒泡排序-插入排序- 归并排序等 各种排序算法知识点整理
  • PostgreSQL 常用客户端工具
  • 计算机网络 3-4 数据链路层(局域网)
  • MongoDB导出和导入数据
  • leetcode125.验证回文串
  • 网络编程 - 4 ( TCP )
  • 学习设计模式《三》——适配器模式
  • PointCore——利用局部全局特征的高效无监督点云异常检测器论文与算法解读
  • 2025.04.19【Chord diagram】| 弦图绘制技巧大全
  • JMETER使用
  • 论文阅读:2024 ICLR Workshop. A STRONGREJECT for Empty Jailbreaks
  • 图像预处理-绘制图像轮廓与凸包
  • 【Unity】bug记录——部分物体突然不受animator控制
  • No package docker-ce available问题的解决
  • 动手实现文本生成模型:基于 Decoder-only Transformer (PyTorch)
  • 在Ubuntu中安装hadoop的详细过程
  • sqli-labs之Less-7 GET注入写shell
  • 【MySQL数据库】数据类型
  • Git 中修改某个特定的commit提交内容
  • Jsp技术入门指南【七】JSP动作讲解
  • 怎么查看LLM Transformer 架构进行并行计算和设备映射
  • 海量聊天数据处理:基于Spring Boot与SharingJDBC的分库分表策略及ClickHouse冷热数据分离
  • React 第三十三节 ReactRouter 中 useSearchParams 使用详解及注意事项
  • 【数据结构】二叉搜索树
  • SQL注入相关知识
  • 深度解析接口:构建代码规范与实现多态的基石