一文详解如何使用uv创建并管理一个新的空白的python项目

 更新时间:2026年03月10日 09:24:20   作者:溪海莘  
这篇文章主要为大家详细介绍了如何使用uv创建并管理一个新的空白的python项目,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

一、安装 uv

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

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# 或使用 pip
pip install uv

二、本地项目使用 uv 进行管理

2.1创建新项目

# 创建项目目录
mkdir myproject
cd myproject

# 初始化项目(创建虚拟环境、pyproject.toml等)
uv init

或者使用一步到位的命令:

uv init myproject --python 3.11  # 指定Python版本和生成项目名称`myproject`
# 如果想要将当前目录作为项目,那么请使用:
uv init --python 3.12
cd myproject

2.2项目结构

初始化后会生成:

myproject/
├── pyproject.toml    # 项目配置和依赖
├── README.md         # 项目说明
├── .gitignore        # Git忽略文件
└── src/
    └── myproject/    # 包源代码
        └── __init__.py

2. 3管理依赖

# 添加依赖
uv add requests pandas numpy

# 添加开发依赖
uv add --dev pytest black mypy

# 从requirements.txt安装
uv pip compile requirements.txt -o pyproject.toml

# 安装所有依赖
uv sync

2.4运行和管理

# 运行Python脚本
uv run python script.py

# 启动虚拟环境shell
uv shell

# 运行测试
uv run pytest

# 查看依赖树
uv tree

2.5常用工作流示例

示例pyproject.toml:

[project]
name = "myproject"
version = "0.1.0"
description = "My awesome project"
dependencies = [
    "requests>=2.28.0",
    "pandas>=2.0.0",
]

[project.optional-dependencies]
dev = ["pytest>=7.0.0", "black>=23.0.0"]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

常用命令总结:

# 创建项目
uv init <project-name>

# 添加/移除依赖
uv add <package>
uv remove <package>

# 更新所有依赖
uv sync --upgrade

# 冻结依赖版本
uv lock

# 清理缓存
uv cache clean

三、与现有项目集成

# 在现有项目中初始化uv
cd existing-project
uv init --force  # 保留现有pyproject.toml

# 从现有环境迁移
uv pip freeze > requirements.txt
uv add -r requirements.txt

uv 的优势在于速度快、集成好,同时支持依赖管理和虚拟环境管理。使用 uv 后,通常不再需要单独安装 pipvirtualenvpip-tools 等工具。

四、当你拿到一个使用 uv 管理的项目

只需要三步就能够快速配置:1. 创建虚拟环境 2. 激活虚拟环境 3. 同步项目的依赖

4.1 先安装 uv(如果还没装)

# Windows(PowerShell)
irm https://astral.sh/uv/install.ps1 | iex

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

4.2 进入项目根目录

cd 你的项目文件夹

4.3 创建并激活虚拟环境(uv 风格)

# 创建虚拟环境(自动用项目 Python 版本)
uv venv
# 你可以指定本地 python 路径
uv venv --python "your python path."
# 激活
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate

4.4 安装所有依赖(最关键)

uv sync

这会根据:

  • pyproject.toml
  • uv.lock

精确安装和原项目一模一样的依赖版本

4.5. 运行项目

按项目原本的启动方式运行即可,例如:

uv run main.py
uv run fastapi dev main.py

最常用的 uv 命令(记这 5 个就够)

  • uv add 包名:安装包
  • uv remove 包名:卸载包
  • uv sync:同步依赖
  • uv run 命令:在虚拟环境里运行
  • uv pip list:看已安装包

到此这篇关于一文详解如何使用uv创建并管理一个新的空白的python项目的文章就介绍到这了,更多相关uv创建并管理python项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 通过python获取甲流分布数据

    通过python获取甲流分布数据

    近期,多地学校出现因甲流导致的班级停课,儿科甲流患者就诊量呈数倍增长,今天我们同样的操作来获取下现在甲流感染的数据,需要的朋友可以参考下
    2023-03-03
  • Python基础语法之容器详解

    Python基础语法之容器详解

    这篇文章主要介绍了Python基础语法之容器的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下,希望能够给你带来帮助
    2021-09-09
  • python实现取余操作的简单实例

    python实现取余操作的简单实例

    在本篇文章里小编给各位分享的是一篇关于python实现取余操作的简单实例内容,需要的朋友们可以参考下。
    2020-08-08
  • Python偏函数实现原理及应用

    Python偏函数实现原理及应用

    这篇文章主要介绍了Python偏函数实现原理及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 一文了解Python 流程控制

    一文了解Python 流程控制

    这篇文章主要介绍了一文了解Python 流程控制,Python 中有while和for两种循环机制,其中while循环是条件循环,文章通过展开循环内容展开控制流程详情,需要的小伙伴可以参考一下
    2022-05-05
  • Python Serial串口的简单数据收发方式

    Python Serial串口的简单数据收发方式

    这篇文章主要介绍了Python Serial串口的简单数据收发方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python中使用kitti数据集实现自动驾驶(绘制出所有物体的行驶轨迹)

    Python中使用kitti数据集实现自动驾驶(绘制出所有物体的行驶轨迹)

    这篇文章主要介绍了Python中使用kitti数据集实现自动驾驶——绘制出所有物体的行驶轨迹,本次内容主要是画出kitti车的行驶的轨迹,需要的朋友可以参考下
    2022-06-06
  • 利用Python为女神制作一个专属网站

    利用Python为女神制作一个专属网站

    520不知道送什么礼物?快跟随小编一起学习一下如何利用Python语言制作一个专属的网站送给女神吧!文中的示例代码讲解详细,需要的可以参考一下
    2022-05-05
  • Python排序搜索基本算法之希尔排序实例分析

    Python排序搜索基本算法之希尔排序实例分析

    这篇文章主要介绍了Python排序搜索基本算法之希尔排序,简单说明了希尔排序的原理并结合实例形式分析了Python实现希尔排序的具体操作技巧,需要的朋友可以参考下
    2017-12-12
  • Python 循环结构详解

    Python 循环结构详解

    这篇文章主要介绍了Python 循环结构,程序的循环结构逻辑,循环就是按照一定的条件重复的去做一件事情,当条件不成立时就结束循环的内容,需要的小伙伴一起和小编一起进入下面文章学习吧
    2022-02-02

最新评论