Python

发布于 更新于

AI总结: 本文介绍了如何使用uv工具进行Python项目的环境管理和依赖处理。用户可以通过curl或wget命令安装uv,随后可以使用uv init命令快速创建新项目结构,并通过uv venv命令创建虚拟环境。对于现有项目,用户可以进入项目目录后使用uv init和uv run命令生成环境,并添加依赖。依赖同步通过uv sync命令实现,用户可以选择升级依赖或重新生成requirements.txt文件。检测和升级依赖使用uv pip list和uv pip install命令,查看依赖树则使用uv tree。用户还可以通过设置镜像源来安装和切换Python版本。最后,使用deptry工具可以检测无用依赖。改进建议包括增加对各个命令的详细说明和使用场景的示例,以便用户更好地理解如何应用这些命令。
  • 安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh  
wget -qO- https://astral.sh/uv/install.sh | sh  
  • 新项目
    使用 uv init 命令快速生成项目结构和配置(如 pyproject.toml.python-version):

    uv init my_project  
    cd my_project  
    
    uv venv --python 3.11 .venv   # 默认生成 .venv 目录  
    # 或自定义名称  
    uv venv --python 3.12 my_env  # 创建名为 my_env 的环境  
    
    source .venv/bin/activate       
    

  • 现有项目

    cd existing_project  
    uv init  
    uv run              # 生成 .venv 环境  
    uv add flask  
    uv add -r requirements.txt  
    

  • 依赖同步
    对于已有 pyproject.tomluv.lock 的项目,快速同步环境:

    uv sync  
    uv sync --upgrade  # 升级依赖包, 需要在pyproject.toml中配置的版本号>=  
    

  • 重新生成requirements.txt

    uv pip freeze > requirements.txt  
    

  • 检测并升级依赖

    uv pip list --outdated  
    uv pip install --upgrade urllib3  
    

  • 查看依赖树

    uv tree  
    

  • Python 版本切换

    # 指定安装镜像 默认到github下载, 使用时查询当前可用的加速镜像地址  
    export UV_PYTHON_INSTALL_MIRROR=https://github.com/indygreg/python-build-standalone/releases/download  
    uv python install 3.11    # 安装指定版本  
    uv python use 3.11        # 切换当前环境版本  
    

  • 检测无用依赖

uv pip install deptry

# deptry .  
Scanning 7 files...  

pyproject.toml: DEP002 'flask' defined as a dependency but not used in the codebase  
pyproject.toml: DEP002 'loguru' defined as a dependency but not used in the codebase  
Found 2 dependency issues.