解决 uv: command not found!极速 Python 工具 uv 安装全攻略

📌 摘要

你是否在使用 uv venv --python 3.12 --seed 时遇到过 -bash: uv: command not found 的错误?别急,这不是你的操作问题,而是系统还没安装这个“神器”!本文带你全面了解 uv —— 由 Astral 团队打造的超高速 Python 包与项目管理工具,比 pip 快 10-100 倍!我们将一步步教你如何正确安装 uv,避开常见坑(比如下错安装脚本),并提供多种安装方式:pip、官方一键脚本、pipx 等。无论你是新手还是老手,看完这篇都能轻松上手 uv,开启 Python 开发新速度!


什么是 uv?为什么它这么火?

uv 是由 Astral(Ruff 的开发团队)推出的下一代 Python 包管理工具,用 Rust 编写,性能极强。它能替代以下工具的大部分功能:

  • pip(安装包)
  • virtualenv / venv(创建虚拟环境)
  • pip-tools(依赖管理)
  • pipx(安装和运行 CLI 工具)
  • poetry(项目管理)

一个典型的使用场景是创建虚拟环境:

uv venv --python 3.12 --seed 

这条命令会:

  • 使用 Python 3.12 创建 .venv 虚拟环境
  • 自动安装 pipsetuptools 等基础包(--seed 参数)

但如果你执行时报错:

-bash: uv: command not found 

说明 uv 还没安装!


✅ 正确安装 uv 的 3 种方式

方式一:通过 pip 安装(最简单)

uv 已发布到 PyPI,可以直接用 pip 安装:

pip install uv 

如果你的 pip 版本较旧,建议先升级:

python -m pip install --upgrade pip python -m pip install uv 
✅ 优点:简单直接,适合已有 Python 环境的用户
❌ 缺点:安装的是 Python 包,非原生二进制,略慢于方式二

方式二:使用官方一键安装脚本(推荐!)

这是官方推荐的安装方式,下载的是预编译的 Rust 二进制文件,速度更快、更独立。

macOS/Linux 上运行:

curl -LsSf https://install.astral.sh/uv |sh
⚠️ 注意:不要使用 https://install.python-poetry.org,那是给 Poetry 用的,不是 uv

安装完成后,uv 会被放到 ~/.local/bin 目录下,你需要将其加入 PATH

exportPATH="$HOME/.local/bin:$PATH"

为了让环境变量永久生效,可以写入 shell 配置文件:

echo'export PATH="$HOME/.local/bin:$PATH"'>> ~/.bashrc source ~/.bashrc 

方式三:使用 pipx 安装(推荐用于 CLI 工具)

pipx 是专门用来安装和运行 Python 命令行工具的,非常适合安装 uv

pipx install uv 

如果你还没安装 pipx,可以先用 pip 安装它:

python -m pip install pipx pipx ensurepath 
✅ 优点:隔离性好,不会污染全局环境
🌟 推荐给追求整洁环境的开发者!

🔁 总结:安装步骤速查表

步骤命令
1. 安装 uv(任选其一)pip install uv 或 `curl -LsSf https://install.astral.sh/uv
2. 添加 PATH(仅脚本安装需要)export PATH="$HOME/.local/bin:$PATH"
3. 验证安装uv --version
4. 创建虚拟环境uv venv --python 3.12 .venv
5. 激活环境source .venv/bin/activate

🐍 额外提醒:确保 Python 3.12 已安装

uv venv --python 3.12 要求系统中已安装 Python 3.12。检查方法:

python3.12 --version 

如果没有,Ubuntu/Debian 用户可以这样安装:

sudoapt update sudoaptinstall python3.12 python3.12-venv python3.12-dev 

CentOS/RHEL 用户可使用 pyenv 或从源码编译。


🚀 uv 的其他强大功能

除了创建虚拟环境,uv 还能:

  • 极速安装包uv pip install requests(比 pip 快 10 倍+)
  • 运行脚本uv run script.py(自动管理依赖)
  • 管理工具uvx black .(类似 pipx run
  • 项目初始化uv init myproject
  • 依赖同步uv sync(类似 poetry install

更多功能可查看官方文档:https://docs.astral.sh/uv


💬 写在最后

亲爱的读者,感谢你耐心读完这篇 uv 安装指南!希望你现在已经成功装上了这个“Python 包管理界的黑马”。无论是日常开发还是大型项目,uv 都能为你带来丝滑般的体验。如果你在安装过程中遇到任何问题,欢迎在评论区留言,我会第一时间为你解答!

祝你 coding 快乐,效率翻倍!


#标签 #Python #uv #包管理

Read more

【数据结构】长幼有序:树、二叉树、堆排序与TOP-K问题的层次解析(含源码)

【数据结构】长幼有序:树、二叉树、堆排序与TOP-K问题的层次解析(含源码)

为什么我们要学那么多的数据结构?这是因为没有一种数据结构能够去应对所有场景。我们在不同的场景需要选择不同的数据结构,所以数据结构没有好坏之分,而评估数据结构的好坏要针对场景,就如我们已经学习的结构而言,如果在一种场景下我们需要频繁地对头部进行插入删除操作,那么这个时候我们用链表;但是如果对尾部进行插入删除操作比较频繁,那我们用顺序表比较好。 因此,不同的场景我们选择不同的数据结构 文章目录 * 一、树 * 1.树的基本概念 * 2.树相关术语 * 3.树的表示 * 4.树形结构实际运用场景 * 二、二叉树 * 1. 概念与结构 * 现实中的二叉树 * 特殊的二叉树 * 二叉树的性质 * 二叉树存储结构 * 三、手动模拟实现顺序二叉树——堆 * 1.堆的结构 * 2.初始化 * 3.销毁 * 4.向上调整算法 * 5.插入数据 * 6.判空 * 7.求size * 8.向下调整算法

By Ne0inhk
当AI变成“需求读心术大师“:Python开发者如何用“脑洞算法“破解预测困局?

当AI变成“需求读心术大师“:Python开发者如何用“脑洞算法“破解预测困局?

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎点赞 + 收藏 + 关注哦 💕 当AI变成"需求读心术大师":Python开发者如何用"脑洞算法"破解预测困局? 📚 本文简介 本文探讨了AI需求预测的局限性及其与人类心理洞察的本质差异。通过Python代码示例(GradientBoostingClassifier模型)揭示了AI"读心术"实为基于历史数据的概率猜测,并运用mermaid图对比展示AI在情感理解、文化背景考量等方面的不足。关键发现: AI预测依赖表面行为数据,而人类能理解深层动机 开发者应结合算法与人文洞察,如文中小陈从"更快的马"解读出"便捷交通工具"的真实需求 提出Python开发场景对照表,显示人类在用户体验设计、错误处理等方面的温度优势 结论:AI预测是工具而非真理,开发者需保持批判思维,

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 directed_graph 在鸿蒙应用中优雅处理复杂的拓扑排序与依赖关系(算法级工具)

Flutter for OpenHarmony: Flutter 三方库 directed_graph 在鸿蒙应用中优雅处理复杂的拓扑排序与依赖关系(算法级工具)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的复杂业务逻辑设计时,我们经常会遇到“依赖关联”问题。例如: 1. 任务调度:任务 A 依赖于任务 B 和 C,任务 B 依赖于 D。你应该按什么顺序运行它们? 2. 数据流建模:在鸿蒙分布式节点中,数据是如何从一个端点流向另一个端点的?是否存在循环引用(Cycle)? 3. 资源加载器:一个大型鸿蒙 HAP 包内的资源加载优先级排序。 directed_graph 是一款纯粹的、算法级别的 Dart 库。它提供了标准的数据结构模型,能帮你极其高效地处理这些复杂的拓扑(Topology)关系。 一、有向图逻辑模型 该库支持对图节点进行深度遍历、

By Ne0inhk
动态规划 路径类 DP 入门:3 道经典例题(最小路径和 + 迷雾森林 + 过河卒)全解析

动态规划 路径类 DP 入门:3 道经典例题(最小路径和 + 迷雾森林 + 过河卒)全解析

文章目录 * 矩阵的最小路径和 * 迷雾森林 * 过河卒 路径类 dp 是线性 dp 的⼀种,它是在⼀个 n × m 的矩阵中设置⼀个⾏⾛规则,研究从起点⾛到终点的 ⽅案数、最⼩路径和或者最⼤路径和等等的问题。 ⼊⻔阶段的《数字三⻆形》其实就是路径类 dp。 矩阵的最小路径和 题目描述 题目解析 1、状态表示 dp[i][j]表示从[1 1]格子走到[i j]格子时,所有方案下的最小路径和。 2、状态转移方程 我们还是以最后一步来推导状态转移方程,走到最后一个格子dp[n][m]

By Ne0inhk