Ubuntu 26.04 LTS 安装 Miniconda3 及 systemd 守护进程配置指南

在全新的 Ubuntu 26.04 LTS 系统中部署 Miniconda3 环境管理工具,并结合 systemd 实现 Python 服务的自动化守护。

远思为径,码动价值。欢迎来到远思码技术实验室的最新技术实践记录。

随着 Ubuntu 26.04 LTS 的正式发布,我们在更新主力算力平台后,底层开发环境的重新构建也提上了日程。在利用 Radeon 890M 核心显卡及 48GB UMA 统合内存进行本地量化策略开发与轻量级模型微调时,一个纯净且隔离性良好的 Python 环境至关重要。

本文将详细介绍如何在 Ubuntu 26.04 LTS 上从零安装 Miniconda3,并分享如何通过 systemd 将运行在 Conda 虚拟环境中的 Python 程序(如量化监控、自动化脚本或 Jupyter 服务)配置为系统守护进程。

一、 环境准备与依赖更新

在开始安装之前,先同步系统的软件包索引并更新基础工具,确保后续操作顺利进行:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential curl wget git

二、 下载与安装 Miniconda3

1. 下载最新版安装脚本

推荐直接从 Anaconda 官方源下载适用于 Linux x86_64 架构的 Miniconda3 安装脚本:

mkdir -p ~/downloads
cd ~/downloads
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

2. 执行安装程序

运行下载好的 shell 脚本进行安装。在安装过程中,连续按回车浏览许可协议,并在提示时输入 yes 同意条款:

bash Miniconda3-latest-Linux-x86_64.sh
  • 安装路径提示:默认会安装在 ~/miniconda3 下,直接回车确认即可。
  • 初始化确认:当提示是否运行 conda init 时,建议输入 yes。这会自动修改你的 ~/.bashrc 文件,方便在打开终端时自动加载 Conda。

3. 激活与验证

为了让环境变量立即生效,刷新当前的终端会话:

source ~/.bashrc

此时终端提示符前通常会出现 (base) 字样。输入以下命令验证是否安装成功:

conda --version

如果正常输出 Conda 的版本号,则说明核心环境已就绪。为了防止每次开机终端默认直接进入 base 环境,可以运行以下命令关闭自动激活:

conda config --set auto_activate_base false

三、 创建与管理虚拟环境

以构建一个专门用于自动化策略的 Python 3.11 环境为例:

# 创建名为 py311 的环境
conda create -n py311 python=3.11 -y

# 激活环境
conda activate py311

在虚拟环境中,你可以自由地通过 pipconda 安装所需的依赖库,而不会对系统自带的 Python 产生任何污染。


四、 使用 systemd 配置虚拟环境服务的守护进程

通常 Miniconda3 本身只是一个 environment 管理器,不需要常驻后台。但如果我们用 Conda 环境编写了一个长周期运行的 Python 自动化脚本、Jupyter Lab 或者后台 API 服务,就需要利用系统的 systemd 工具进行守护。

在配置 systemd 时,最关键的一点是必须指定虚拟环境中 Python 解释器的绝对路径,而不是全局的系统路径。

1. 查找虚拟环境的 Python 路径

首先激活你的目标环境,然后获取 Python 的绝对路径:

conda activate py311
which python

通常输出格式为:/home/你的用户名/miniconda3/envs/py311/bin/python

2. 创建 systemd 服务文件

使用管理员权限创建全新的服务配置文件:

sudo nano /etc/systemd/system/my_python_service.service

3. 编写 Service 配置

将以下内容写入文件。请务必将 UserWorkingDirectory 以及 ExecStart 的路径替换为你本机的实际信息:

[Unit]
Description=Yuansima Lab Python Automation Service
After=network.target

[Service]
Type=simple
# 替换为运行该服务的 Linux 用户名和组
User=your_username
Group=your_group

# 设置程序运行的工作目录
WorkingDirectory=/home/your_username/projects/my_project

# 关键:使用 Conda 虚拟环境下的 Python 绝对路径来执行脚本
ExecStart=/home/your_username/miniconda3/envs/py311/bin/python main.py

# 崩溃后自动重启机制
Restart=on-failure
RestartSec=5

# 日志输出管理
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

4. 加载并启动守护进程

保存并退出编辑器后,执行以下命令使配置生效并开启自启:

# 重载 systemd 配置
sudo systemctl daemon-reload

# 开启开机自启并立即运行服务
sudo systemctl enable --now my_python_service.service

5. 查看运行状态与日志

检查服务是否在后台成功拉起:

sudo systemctl status my_python_service.service

若状态显示为绿色的 active (running),则表明守护进程已正常运转。如果后续程序出现报错,可以通过以下命令实时追踪 Python 脚本的输出日志:

journalctl -u my_python_service.service -f -n 50