砍材农夫砍材农夫
  • 微信记账小程序
  • java
  • redis
  • mysql
  • 场景类
  • 框架类
  • vuepress搭建
  • hexo搭建
  • 云图
  • llm wiki

    • 基于karpathy
    • gradle
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • 环境配置
    • 微信生态
    • 正则
    • 全栈技能
  • java圈

    • java基础
    • jdk体系
    • jvm
    • spring框架
    • 分库分表
    • zookeeper
  • python技能

    • python编程
    • python数据
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI插件
  • AI集成框架
  • 相关算法
  • AI训练师
  • 量化交易
  • AIoT
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • devops
  • 元宇宙
  • 区块链
  • 物联网
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 思
  • 微信记账小程序
  • java
  • redis
  • mysql
  • 场景类
  • 框架类
  • vuepress搭建
  • hexo搭建
  • 云图
  • llm wiki

    • 基于karpathy
    • gradle
  • 常用工具

    • git
    • gradle
    • Zadig
    • it-tools
    • 开源推荐
    • curl
  • 大前端

    • 环境配置
    • 微信生态
    • 正则
    • 全栈技能
  • java圈

    • java基础
    • jdk体系
    • jvm
    • spring框架
    • 分库分表
    • zookeeper
  • python技能

    • python编程
    • python数据
  • 算法

    • 算法
  • 网关

    • spring_cloud_gateway
    • openresty
  • 高可用

    • 秒杀
    • 分布式
    • 缓存一致
  • MQ

    • MQ
    • rabbitMQ
    • rocketMQ
    • kafka
  • 其它

    • 设计模式
    • 领域驱动(ddd)
  • 关系型数据库

    • mysql5.0
    • mysql8.0
  • 非关系型数据库

    • redis
    • mongoDB
  • 分布式/其他

    • ShardingSphere
    • 区块链
  • 向量数据库

    • M3E
    • OPEN AI
  • Jmeter
  • fiddler
  • wireshark
  • AI入门
  • AI大模型
  • AI插件
  • AI集成框架
  • 相关算法
  • AI训练师
  • 量化交易
  • AIoT
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 相关运营
  • devops
  • 元宇宙
  • 区块链
  • 物联网
  • webrtc
  • web3.0
  • gitee
  • github
  • infoq
  • osc
  • 砍材工具
  • 关于
  • 中考
  • 投资
  • 保险
  • 思
  • python基础

    • 环境准备
      • pip|uv|venv|Conda区别
      • 默认依赖包安装
      • pip镜像使用
      • venv虚拟环境创建
      • window下面uv安装和使用
      • pip|uv存量项目导入
      • 官方依赖pyproject.toml
      • conda使用
    • 基础语法和技能
      • pip
      • Jupyter
      • Jupyter使用
      • notebook
      • 常用工具
  • python高级

    • 主流应用框架
  • python框架

    • 主流应用框架
    • Flask

      • flask demo搭建
      • flask 实现完整接口
      • flask 模板实现
      • flask 会话session实现
      • flask 认证验签
      • flask 全局统一日志追踪
    • FastAPI

      • 依赖包安装
    • Django

      • 依赖包安装
  • python环境|官方pyproject.toml
    • pyproject优势
    • pyproject和uv区别
    • 有了 uv,还需要手动写 pyproject.toml?
    • 声明基本信息
    • 管理项目依赖

python环境|官方pyproject.toml

pyproject.toml 是 Python 生态中现代项目的核心配置文件,其设计初衷是统一和替代以往分散的 setup.py、setup.cfg、requirements.txt、Pipfile、tox.ini 等多个文件

pyproject优势

传统方式 (多个文件)pyproject.toml (单文件)
setup.py (动态执行,风险高)声明式配置,安全、可解析
setup.cfg统一纳入 [project] 或 [tool]
requirements.txtdependencies 字段
Pipfile / Pipfile.lock由 Poetry/PDM/uv 等工具生成锁文件
.coveragerc, .flake8, pytest.ini 等分散的配置,现在可放入 [tool.*]

pyproject和uv区别

  • pyproject.toml

是一个文件(就像 requirements.txt 的升级版),里面写着你的项目需要哪些包、需要哪个版本的 Python。

  • uv

是一个工具(就像 pip + venv + pyenv 的合体),它会读取 pyproject.toml 这个文件,然后帮你创建环境、安装依赖、运行项目

有了 uv,还需要手动写 pyproject.toml?

uv 会自动帮你生成和维护 pyproject.toml

img

声明基本信息

[project]
name = "my-awesome-project"
version = "1.0.0"
description = "Do something great"
authors = [{ name = "Your Name", email = "you@example.com" }]
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.9"

管理项目依赖

dependencies = [
    "requests>=2.28",
    "click>=8.0"
]
最近更新: 2026/6/12 17:02
Contributors: kcnf
Prev
pip|uv存量项目导入
Next
conda使用