uv 管理 Python 项目全攻略:安装、虚拟环境、依赖锁定与常见报错

你会用到 uv 的场景

uv 是一个更快的 Python 包管理/虚拟环境工具(可以理解为:把 venv + pip + 依赖解析/锁定做成一套更顺滑的工作流)。如果你经常遇到“同一个项目在不同电脑/同事那里跑不起来”“装包很慢”“requirements.txt 越写越乱”,这篇可以直接照做。

准备工作(先确认 3 件事)

1)确认 Python 版本:建议 Python 3.10+。在终端里执行:

python --version # 或 python3 --version

2)确认系统能访问网络:如果公司网络有限制,后面会给出加速/代理思路。

3)确认你知道项目目录:下面示例以 myproj 作为项目文件夹名。

Windows / macOS / Linux 安装 uv(任选一种方式)

方式 A:官方安装脚本(最省事)

# macOS / Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows(PowerShell) irm https://astral.sh/uv/install.ps1 | iex

方式 B:已有 Python 的情况下用 pip 安装(不推荐但可用)

python -m pip install -U uv

安装完成后检查:

uv --version

创建项目与虚拟环境(最常用)

进入项目目录后执行:

mkdir myproj cd myproj uv venv

这会在项目里创建虚拟环境(通常是 .venv)。然后激活:

# macOS / Linux source .venv/bin/activate # Windows(PowerShell) ..venv sActivate.ps1

提示符前面出现 (.venv) 之类标记,说明激活成功。

安装依赖 + 生成锁文件(让“可复现”变简单)

1)安装一个或多个包

uv pip install requests rich

2)把当前环境导出为 requirements(兼容老项目)

uv pip freeze > requirements.txt

3)做“锁定安装”(建议团队/CI 用): 如果你希望在不同机器上安装到一致的版本组合,建议引入锁文件思路。一个简单、通用的做法是:在依赖确定后固定版本号,并在 CI 中使用同一份依赖清单进行安装。你可以从 requirements.txt 开始,逐步把关键依赖改成显式版本(例如 requests==2.32.3)。

注意:锁定不是“越严格越好”,优先锁住基础依赖和运行关键链路的包,避免过度约束导致升级困难。

运行脚本/模块(两种写法)

方式 A:激活虚拟环境后直接运行

python main.py

方式 B:不激活也能运行(更适合脚本/自动化)

uv run python main.py

建议把常用命令写进 README,团队协作时能少掉一半沟通成本。

下载很慢怎么加速(合法合规方式)

1)优先使用稳定网络:切换更稳定的网络环境往往比折腾配置更省时间。

2)使用公司允许的代理:如果你的网络需要代理,确保终端已有正确的代理环境变量(由你的网络策略决定)。

3)复用缓存:多次安装相同依赖时,缓存会显著提速;尽量不要频繁删除项目的虚拟环境与缓存目录。

常见报错排查(对照即可解决)

问题 1:uv: command not found / 找不到 uv

原因通常是 PATH 没刷新。解决:重开一个终端窗口;Windows 可执行 $env:Path 查看是否包含 uv 安装目录。

问题 2:Permission denied / 权限不足

尽量不要把包装到系统 Python 的全局环境里,使用项目内 .venv。必要时在 Windows 用“以管理员身份运行 PowerShell”,但优先改为项目虚拟环境方案。

问题 3:SSL certificate problem / 证书错误

常见于公司代理/抓包环境。解决思路:确认系统证书是否已按公司要求安装;或换到不拦截 HTTPS 的网络环境;不要随意关闭证书校验。

问题 4:编译失败(例如安装某些科学计算包)

这类包可能需要系统编译工具链。解决:优先选择官方 wheels(升级 pip/uv);Windows 安装“构建工具”,macOS 安装 Xcode Command Line Tools,Linux 安装 build-essential 等(按报错提示补齐)。

推荐的最小团队工作流(写进项目就能用)

# 第一次拉取项目 uv venv uv pip install -r requirements.txt # 日常运行 uv run python main.py

按这个流程,基本可以保证“新电脑 10 分钟跑起来”。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功