当前位置: 首页 > news >正文

网站群项目建设实施进度计划衡水网站建设电话

网站群项目建设实施进度计划,衡水网站建设电话,百度怎样发布信息,WordPress的网外无法访问现代Python打包工具如Poetry、Flit和Hatch提供了更简单、更强大的方式来管理项目依赖和打包流程。下面我将通过具体示例详细介绍这三种工具。 1. Poetry - 全功能依赖管理工具 Poetry是最流行的现代Python项目管理工具之一,它集依赖管理、虚拟环境管理和打包发布于一…

现代Python打包工具如Poetry、Flit和Hatch提供了更简单、更强大的方式来管理项目依赖和打包流程。下面我将通过具体示例详细介绍这三种工具。
1. Poetry - 全功能依赖管理工具
Poetry是最流行的现代Python项目管理工具之一,它集依赖管理、虚拟环境管理和打包发布于一体。
典型项目结构

my_poetry_project/
├── pyproject.toml
├── README.md
├── src/
│   └── my_package/
│       ├── __init__.py
│       └── module.py
└── tests/

pyproject.toml 示例

[tool.poetry]
name = "my-poetry-project"
version = "0.1.0"
description = "A project managed by Poetry"
authors = ["Your Name <you@example.com>"]
license = "MIT"
readme = "README.md"[tool.poetry.dependencies]
python = "^3.8"
requests = "^2.26.0"
numpy = { version = "^1.21.0", optional = true }[tool.poetry.dev-dependencies]
pytest = "^6.2.0"
black = "^21.0"
mypy = "^0.910"[tool.poetry.extras]
full = ["numpy"][tool.poetry.scripts]
mycli = "my_package.cli:main"[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

常用命令

# 初始化新项目
poetry new my-project# 添加依赖
poetry add requests
poetry add --dev pytest# 安装所有依赖
poetry install# 安装带可选依赖
poetry install --extras "full"# 运行命令
poetry run python -m pytest# 构建包
poetry build# 发布到PyPI
poetry publish

2. Flit - 简单项目的轻量级工具
Flit专注于简化小型包的发布流程,特别适合单模块包。
典型项目结构

my_flit_project/
├── pyproject.toml
├── README.md
└── my_module.py  # 或 src/目录结构

pyproject.toml 示例

[build-system]
requires = ["flit_core>=3.2"]
build-backend = "flit_core.buildapi"[project]
name = "my-flit-module"
authors = [{name = "Your Name", email = "you@example.com"},
]
version = "0.1.0"
description = "A simple module packaged with Flit"
requires-python = ">=3.6"
classifiers = ["License :: OSI Approved :: MIT License",
]
dependencies = ["requests>=2.25.0",
][project.optional-dependencies]
test = ["pytest>=6.0","pytest-cov>=2.0",
][project.urls]
Homepage = "https://example.com"

常用命令

# 初始化项目(交互式)
flit init# 构建包
flit build# 发布到PyPI
flit publish# 安装开发模式
flit install --symlink

3. Hatch - 新一代项目管理工具
Hatch是一个相对较新但功能强大的工具,提供了统一的项目管理和构建体验。
典型项目结构

my_hatch_project/
├── pyproject.toml
├── README.md
├── src/
│   └── my_package/
│       ├── __init__.py
│       └── module.py
└── tests/

pyproject.toml 示例

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"[project]
name = "my-hatch-project"
version = "0.1.0"
description = "A project managed by Hatch"
authors = [{ name="Your Name", email="you@example.com" },
]
readme = "README.md"
requires-python = ">=3.7"
license = "MIT"
keywords = ["example", "hatch"]
classifiers = ["Development Status :: 3 - Alpha","Intended Audience :: Developers",
]dependencies = ["click>=8.0.0","rich>=10.0.0",
][project.optional-dependencies]
dev = ["pytest>=6.0","pytest-mock>=3.0",
]
test = ["coverage>=5.0",
][project.scripts]
myapp = "my_package.cli:main"[tool.hatch.envs.default]
dependencies = ["pytest","pytest-cov",
]

常用命令

# 创建新项目
hatch new my-project# 添加依赖
hatch env add python=3.9# 运行测试
hatch run test# 构建包
hatch build# 发布包
hatch publish# 版本管理
hatch version  # 显示当前版本
hatch version patch  # 升级补丁版本
hatch version minor  # 升级次版本

工具对比
特性
Poetry
Flit
Hatch
依赖管理



虚拟环境管理



版本管理



复杂项目支持



单文件项目支持



构建系统



发布到PyPI



多环境支持
有限


插件系统



选择建议
1. 选择Poetry如果:
◦ 你需要完整的依赖管理解决方案
◦ 项目有复杂的依赖关系
◦ 需要与现有工具链良好集成
2. 选择Flit如果:
◦ 你的项目非常简单(特别是单文件模块)
◦ 你想要最简化的配置
◦ 你不需要虚拟环境管理
3. 选择Hatch如果:
◦ 你想要最新的工具和功能
◦ 需要强大的环境管理
◦ 项目可能有多种配置或构建变体
这些现代工具都使用pyproject.toml作为配置文件,符合PEP 517和PEP 518标准,使得项目更容易在不同工具间迁移。

http://www.dtcms.com/a/601542.html

相关文章:

  • 【自然语言处理】基于混合基的句子边界检测算法
  • 快快测(KKCE)TCping 检测全面升级:IPv6 深度覆盖 + 多维度可视化,重构网络性能监测新体验
  • 句容网站移动互联网软件开发
  • vs编译c语言 | 详细解析如何配置与调试Visual Studio环境
  • 浙江火电建设有限公司网站营销策划公司名字简单大气
  • 自动驾驶与联网车辆网络安全:系统级威胁分析与韧性框架
  • 野火fpga笔记
  • 在 Ubuntu 上安装 MySQL 的详细指南
  • 智慧医疗:FHIR R5、联邦学习与MLOps三位一体的AI产品化实战指南(上)
  • Unity Shader Graph 3D 实例 - 基础的模型颜色渲染
  • 做二手货的网站咋建网站
  • 专业苏州房产网站建设网站定制与模板开发
  • 黄牛群算法详细原理,黄牛群算法公式,黄牛群算法应用
  • html语法
  • 移动终端安全:实验4-中间人攻击
  • 【前端面试】JS篇
  • 网站模板怎么用法企业做pc网站需要什么资料
  • 简单医院网站wordpress xiu 5.5
  • APP上架应用市场全解析:安卓商店与苹果App Store流程及资质要求
  • ECS 事件监控钉钉通知优化实践
  • 2025年ChatGPT Plus、Pro、Business用户Codex使用限制详解(附Codex额度查询入口)
  • Android垃圾回收算法详解
  • wordpress做管理网站百度网盟有哪些网站
  • 东莞企业网站哪家好平顶山网站建设电话
  • 【开题答辩全过程】以 基于Vue的列车信息查询系统为例,包含答辩的问题和答案
  • AXI-5.5 Memory protection and the Realm Management Extension
  • 用c++求第n个质数
  • 三合一网站建站如何在工商局网站上做网登
  • 网工_存储技术
  • PostIn从初级到进阶(1) - 创建第一个项目