Python UV工具使用入门指南——初学者上手体验

背景

MCP开发使用到了uv,简单记录一下:

        为什么MCP更推荐使用uv进行环境管理?
        MCP 依赖的 Python 环境可能包含多个模块,uv 通过 pyproject.toml 提供更高效的管理方式,并且可以避免 pip 的一些依赖冲突问题。此外,uv 的包管理速度远超 pip,这对于 MCP 这样频繁管理依赖的项目来说是一个很大的优势。

uv入门介绍

        MCP开发可以借助uv进行虚拟环境创建和依赖管理。uv 是一个Python 依赖管理工具,类似于 pip 和 conda,但它更快、更高效,可以更好地管理 Python 虚拟环境和依赖项。uv 的核心目标是替代 pip、pip-tools 和 venv ,提供更好的性能和更低的管理开销。

        uv是一个新兴的Python包管理工具,由Astral开发(由Rust语言编写)。它旨在成为pip和pip-tools的更快速替代品。

uv 的特点

  1. 速度更快:相比 pipuv 采用 Rust 编写,性能更优。

  2. 支持 PEP 582:无需 virtualenv,可以直接使用 __pypackages__ 进行管理。

  3. 兼容 pip:支持 requirements.txtpyproject.toml 依赖管理。

  4. 替代 venv:提供 uv venv 进行虚拟环境管理,比 venv 更轻量。

  5. 跨平台:支持 Windows、macOS 和 Linux。

uv安装流程

方法 1:使用 pip 安装(前提是你的系统已经安装了pip命令

ps:Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。

pip --version     # Python2.x 版本命令
pip3 --version    # Python3.x 版本命令
-------------------------------------
pip install uv

方法 2:使用 curl 直接安装

        如果你的系统没有 pip,可以直接运行:

curl -LsSf https://astral.sh/uv/install.sh | sh

        执行命令后会自动下载 uv 并安装到 /usr/local/bin。

uv的基本用法介绍(兼容pip)

        安装 uv 后,可以像 pip 一样使用它,像类似uv pip ……的命令是因为uv同样兼容pip命令。

  • 安装 Python 依赖

  • uv pip install package-name

    与 pip install package-name 类似,但更快。

  • 创建虚拟环境

  • uv venv myenv
    # 或者直接uv venv,会自动生成一个.venv文件
    # 或者指明:uv venv .venv
    
    # 删除旧环境并快速重建(适合 CI/CD)
    uv venv --clear .venv

    等效于 python -m venv myenv / python -m venv .venv,但更高效。

  • 激活虚拟环境

  • # 注:pycharm初次需要配一下运行powershell脚本的权限
    
    source myenv/bin/activate  # Linux/macOS
    .\myenv\Scripts\activate     # Windows
    # .venv\Scripts\activate       .\.venv\Scripts\activate
  • 安装项目依赖

  • uv pip install -r requirements.txt

    等效于 pip install -r requirements.txt,但更高效。

  • 生成requirements.txt

  • uv pip compile requirements.in -o requirements.txt
    
    # 生成跨平台的 requirements.txt(避免平台特定依赖)
    uv pip compile --platform=linux requirements.in

    等效于传统方式: pip freeze > requirements.txt 或 使用pip-tools:pip-compile requirements.in

  • 升级依赖

  • uv pip install --upgrade package-name

    等效于 pip install –upgrade package-name。

  • 依赖管理
  • # 安装包(比 `pip` 更快)
    uv pip install numpy pandas
    
    # 卸载包
    uv pip uninstall numpy
    
    # 清理缓存(比 `pip` 更彻底)
    uv pip cache purge
    
    # 查看已安装包(与 `pip list` 相同)
    uv pip list
    
    # 生成 requirements.txt(支持更精确的版本锁定)
    uv pip freeze > requirements.txt
    
    # 升级包
    uv pip install --upgrade numpy
    # 安装包
    pip install numpy pandas
    
    # 卸载包
    pip uninstall numpy
    
    # 清理缓存
    pip cache purge
    
    # 查看已安装包
    pip list
    
    # 生成 requirements.txt
    pip freeze > requirements.txt
    
    # 升级包
    pip install --upgrade numpy
  • 直接运行 Python 项目

  • uv run 的主要用途是 在虚拟环境中运行命令

    uv run <command>  # 等效于:激活虚拟环境 → 执行命令

    不会自动安装依赖(不像 pip install && python script.py),而是专注于环境激活+命令执行。 

    运行 Python 脚本【这里不太对劲,C友们稍等w后续处理!!!】

    如果项目中包含 pyproject.toml,你可以直接运行?:

    uv run python script.py
    # 貌似页可以直接uv run script.py

    这等效于:

    pip install -r requirements.txt
    python script.py

    看看mcp开发时的使用示例

    # Create project directory
    uv init mcp-client
    cd mcp-client
    
    # Create virtual environment
    uv venv
    
    # Activate virtual environment
    # On Windows:
    .venv\Scripts\activate
    # On Unix or MacOS:
    source .venv/bin/activate
    
    # Install required packages
    uv add mcp anthropic python-dotenv
    
    # Remove boilerplate files
    rm main.py
    
    # Create our main file
    touch client.py
    
    # To run your client with any MCP server
    uv run client.py path/to/server.py # python server
    uv run client.py path/to/build/index.js # node server

    参考

    Python pip 安装与使用:Python pip 安装与使用 | 菜鸟教程

    python版本号问题:Python常见问题 — Python 3.11.12 文档


    uv github官方仓库:astral-sh/uv: An extremely fast Python package and project manager, written in Rust.

    ***uv官方文档:uv

    Commands | uv

    uv run:Commands | uv

    mcp client:对于客户端开发人员 – 模型上下文协议

    ¿

    作者:m0_56426418

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python UV工具使用入门指南——初学者上手体验

    发表回复