服务器部署问题汇总(ubuntu24.04.3)

一、虚拟环境无法使用pip命令

是因为base环境的/home/ubuntu/.local/bin优先级高于虚拟环境(/home/ubuntu/miniconda3/envs/ai_dev/bin)的优先级

我们需要把虚拟环境的优先级添加到base优先级之前

1、创建 conda 全局激活脚本目录

conda 的全局配置目录默认不存在,先手动创建:

复制代码
# 创建conda全局的activate.d目录(所有环境激活时都会加载这里的脚本)
mkdir -p ~/miniconda3/etc/conda/activate.d
2、编辑全局激活脚本(核心)

用 nano 编辑全局的环境变量脚本,这里关键是用 $CONDA_PREFIX 这个动态变量(它会自动指向当前激活的 conda 环境路径):

复制代码
nano ~/miniconda3/etc/conda/activate.d/env_vars.sh
3、写入通用配置内容

把下面内容粘贴进去(无需修改,$CONDA_PREFIX 会自动适配任意环境):

复制代码
#!/bin/sh
# 把当前激活的conda环境bin目录放到PATH最前面,优先调用环境内的pip/python
export PATH="$CONDA_PREFIX/bin:$PATH"
4、保存并生效

按 Ctrl+O → 按 Enter 保存 → 按 Ctrl+X 退出 nano;

5、给脚本添加执行权限

这是 conda 加载激活脚本的必要条件,否则文件内容不会被执行:

复制代码
chmod +x ~/miniconda3/etc/conda/activate.d/env_vars.sh
6、在 .bashrc 中添加兜底逻辑

Ubuntu 24.04 会自动把 ~/.local/bin 加入到 PATH 中,优先级很高。我们在 .bashrc 里加一段代码,确保只要在 conda 环境里,就强制把环境的 bin 目录放到最前面

编辑 .bashrc:

bash 复制代码
nano ~/.bashrc

在文件末尾添加:

bash 复制代码
# 确保conda环境的bin目录优先级最高
if [ -n "$CONDA_PREFIX" ]; then
    export PATH="$CONDA_PREFIX/bin:$PATH"
fi

保存并生效:

bash 复制代码
source ~/.bashrc

重启终端(或重新加载 conda 配置):

复制代码
conda deactivate  # 先退出当前环境
source ~/.bashrc  # 刷新环境变量

查询路径优先级,发现虚拟环境的路径在第一个就可以在虚拟环境里面使用pip命令

相关推荐
无足鸟ICT3 小时前
【RHCA+】vmstat命令(监控系统资源)
linux·服务器
垆边人似月.4 小时前
RDMA 文件传输踩坑(五):READY 发送成功后,为什么出现 Work Request Flushed Error?
服务器·网络·tcp/ip
闪亮的路灯4 小时前
Linux 安装mqtt服务mosquitto
linux·运维·服务器
HideF4 小时前
nmcli
linux·服务器·网络
qetfw5 小时前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
明航咨询-陈老师5 小时前
ITSS运行维护服务能力成熟度认证技术纵深:标准模型、等级路径、2026审核趋势与CS/CMMI对比
服务器·数据库·cmmi
szxinmai主板定制专家6 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
缓慢更新6 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
叼烟扛炮7 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮7 小时前
Linux 学习笔记(四十四):HTTP 协议解析与极简 Web 服务器实战
linux·服务器·学习