在centos7的linux中,将 uv 与 Jupyter 结合使用 配置python的环境,需要超详细的步骤,还需要对于uv和Jupyter的介绍,求指教!
4条回答 默认 最新
Juan_2012 2025-11-22 15:04关注回答参考qwen.
在现代 Python 开发中,
uv作为一款新兴的高性能工具链,正逐渐成为开发者构建虚拟环境与管理依赖的新宠。而Jupyter Notebook凭借其交互式编程特性,在数据分析、机器学习和教学场景中广受欢迎。本文将带您从零开始,在 CentOS 7 系统上完整搭建一个基于
uv的 Python 环境,并成功运行Jupyter Notebook,支持远程访问,适用于科研、学习或轻量级开发项目。
🧩 一、什么是 uv?它为什么这么快?
uv是由 Astral 团队使用 Rust 编写的 超高速 Python 包安装器和虚拟环境管理器,目标是替代传统的pip+virtualenv组合。✅ uv 的核心优势
特性 描述 ⚡ 极致速度 安装包比 pip 快 10~100 倍(得益于二进制缓存) 💾 内置 venv 支持 uv venv可直接创建隔离环境📦 兼容性强 支持 requirements.txt、pyproject.toml等格式🌐 离线安装 缓存命中时无需网络连接 🔁 行为一致 跨平台行为统一,避免“我本地能跑”的问题 📌 官方 GitHub:https://github.com/astral-sh/uv
📌 技术原理简析:
uv使用预编译的 universal wheels 并建立本地索引数据库,跳过了 pip 中频繁的元数据解析和重复下载过程,因此性能大幅提升。$$
\text{传统流程:} \quad \text{resolve} \rightarrow \text{download} \rightarrow \text{build} \rightarrow \text{install}
$$
$$
\text{uv 流程:} \quad \text{resolve} \xrightarrow{\text{cache hit}} \text{install}
$$
🧪 二、什么是 Jupyter Notebook?
Jupyter 是一个基于 Web 的交互式计算环境,允许用户以“笔记本”形式编写和执行代码、插入文字说明、图表和公式。
主要用途包括:
- 数据清洗与分析(Pandas)
- 可视化展示(Matplotlib/Seaborn)
- 教学演示(Markdown + LaTeX 公式)
- 实验记录(保存中间结果)
📌 官网:https://jupyter.org/
🎯 目标清单:我们要完成什么?
步骤 内容 1 在 CentOS 7 上安装 Python 3.11 2 安装 uv工具3 使用 uv创建虚拟环境.venv4 在环境中安装 jupyter及常用库5 配置 Jupyter 支持远程访问 6 启动服务并通过浏览器访问 7 (可选)设置开机自启
🛠️ 第一步:升级系统并安装 Python 3.11
CentOS 7 默认只提供 Python 2.7,无法满足现代开发需求,我们需要通过 SCL(Software Collections)来引入新版 Python。
1. 更新系统源并安装基础工具
sudo yum update -y sudo yum install epel-release wget curl tar gzip vim net-tools -y2. 安装 Software Collections 源
sudo yum install centos-release-scl -y3. 安装 Python 3.11
sudo yum install rh-python311 -y4. 启用 Python 3.11 环境(每次登录自动生效)
echo 'source /opt/rh/rh-python311/enable' >> ~/.bashrc source ~/.bashrc5. 验证版本
python --version # 输出应为: Python 3.11.x pip --version # 查看是否指向 rh-python311 路径⚠️ 注意事项:
- 所有后续操作都必须在此环境下进行
- 若未启用
rh-python311,会误用系统默认的 Python 2.7
🧰 第二步:安装
uv(Ultra-fast Python Tool)目前
uv尚未进入 PyPI 主流渠道(截至 2025 年初),推荐使用官方发布的二进制文件安装。1. 下载
uvLinux 版本(x86_64 GNU)curl -L https://github.com/astral-sh/uv/releases/latest/download/uv-linux-x86_64-gnu -o /usr/local/bin/uv2. 添加执行权限
sudo chmod +x /usr/local/bin/uv3. 验证安装
uv --version # 示例输出: uv 0.2.4
🐍 第三步:使用
uv创建虚拟环境并安装 Jupyter我们将在家目录下创建一个专用项目文件夹。
1. 创建项目目录
mkdir ~/jupyter-env && cd ~/jupyter-env2. 使用
uv创建虚拟环境uv venv .venv这会在当前目录生成
.venv文件夹,包含独立的 Python 解释器和包存储路径。3. 激活虚拟环境
source .venv/bin/activate激活后命令行前会出现
(.venv)提示符:(.venv) [user@localhost jupyter-env]$
4. 使用
uv pip安装 Jupyter 及相关库uv pip install \ jupyter \ notebook \ pandas \ numpy \ matplotlib \ scipy \ ipykernel✅ 包作用说明表:
包名 用途 jupyter核心框架 notebook经典 Web UI 界面 pandas/numpy数据处理基石 matplotlib绘图支持 ipykernel让 Jupyter 能运行 Python 代码 💡 提示:你也可以加上
seaborn、scikit-learn等用于更复杂的分析任务。
🖥️ 第四步:配置 Jupyter 支持远程访问
默认情况下,Jupyter 只监听本地回环地址
127.0.0.1,我们需要修改配置使其对外提供服务。1. 生成默认配置文件
jupyter notebook --generate-config生成路径为:
~/.jupyter/jupyter_notebook_config.py
2. 设置登录密码(推荐方式)
jupyter notebook password输入两次密码(如
myjupyter123),系统会将其哈希加密后保存到:~/.jupyter/jupyter_server_config.json这样下次启动就不需要手动输入 token。
3. 编辑配置文件支持外网访问
打开配置文件:
vim ~/.jupyter/jupyter_notebook_config.py添加以下内容:
c = get_config() # 允许任意 IP 访问 c.NotebookApp.ip = '0.0.0.0' # 不自动打开浏览器 c.NotebookApp.open_browser = False # 指定端口(默认 8888) c.NotebookApp.port = 8888 # 启用密码认证 c.NotebookApp.password_required = True # 设置工作目录(可选) c.NotebookApp.notebook_dir = '/home/your_username/jupyter-env' # 允许远程访问 c.NotebookApp.allow_remote_access = True # 允许跨域请求 c.NotebookApp.allow_origin = '*'📌 请将
your_username替换为你的实际用户名(可通过whoami查看)。
🚀 第五步:启动 Jupyter Notebook
确保已激活虚拟环境:
source .venv/bin/activate启动服务:
jupyter notebook看到如下输出即表示成功:
[I 14:32:10.456 NotebookApp] Serving notebooks from local directory: /home/user/jupyter-env [I 14:32:10.456 NotebookApp] The Jupyter Notebook is running at: [I 14:32:10.456 NotebookApp] http://0.0.0.0:8888/
🌐 第六步:通过浏览器访问 Jupyter
在你本地电脑的浏览器中输入:
http://<服务器IP>:8888例如:
http://192.168.1.100:8888然后输入你在
jupyter notebook password中设置的密码即可登录!✅ 成功画面:出现文件列表界面,点击右上角【New】→【Python 3】可新建一个 Notebook。
🔒 安全建议与常见问题
✅ 防火墙开放端口(重要!)
如果无法访问,请检查防火墙是否放行了 8888 端口:
sudo firewall-cmd --permanent --add-port=8888/tcp sudo firewall-cmd --reload查看是否生效:
sudo firewall-cmd --list-ports | grep 8888
❌ 常见错误及解决方案
错误现象 可能原因 解决方法 command not found: jupyter未激活虚拟环境 运行 source .venv/bin/activate页面提示 “Token required” 但没看到 token 日志 改用密码登录(前提是设置了密码) 无法连接服务器 防火墙/安全组未放行 开放 8888 端口 启动时报错缺少模块 pip 安装失败 改用国内镜像源: uv pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter
🚀 进阶技巧:让 Jupyter 开机自启(systemd 服务)
如果你希望服务器重启后 Jupyter 自动运行,可以配置 systemd 服务。
1. 创建服务文件
sudo vim /etc/systemd/system/jupyter.service写入以下内容(请替换用户名):
[Unit] Description=Jupyter Notebook Service After=network.target [Service] Type=simple User=your_username Group=your_username WorkingDirectory=/home/your_username/jupyter-env ExecStart=/bin/bash -c "source /home/your_username/jupyter-env/.venv/bin/activate && jupyter notebook" Restart=always RestartSec=10 [Install] WantedBy=multi-user.target2. 启用并启动服务
sudo systemctl daemon-reexec sudo systemctl enable jupyter sudo systemctl start jupyter3. 查看状态
sudo systemctl status jupyter
📊 总结:关键步骤一览表
步骤 命令摘要 安装 Python 3.11 yum install rh-python311激活 Python 环境 source /opt/rh/rh-python311/enable安装 uv curl -L ... -o /usr/local/bin/uv && chmod +x创建虚拟环境 uv venv .venv激活环境 source .venv/bin/activate安装 Jupyter uv pip install jupyter notebook ...生成配置 jupyter notebook --generate-config设置密码 jupyter notebook password修改配置支持远程 编辑 jupyter_notebook_config.py开放防火墙 firewall-cmd --add-port=8888/tcp启动服务 jupyter notebook
如果对您有帮助请点一个赞,谢谢
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用