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

单页面竞价网站网站+建设设计

单页面竞价网站,网站+建设设计,做游戏交易网站有哪些,asp网站模板如何修改使用uv构建并发布一个完整的Python CLI应用 概述 初始化项目 编写应用代码 定义项目 (`pyproject.toml`) 使用`uv`安装依赖 本地运行和测试 依赖锁定 构建 发布 生产环境实践之CI/CD 创建工作流配置文件 配置GitHub Secrets 创建和推送tag 验证发布 生产环境实践之Docker 创建D…

使用uv构建并发布一个完整的Python CLI应用

  • 概述
    • 初始化项目
    • 编写应用代码
    • 定义项目 (`pyproject.toml`)
    • 使用`uv`安装依赖
    • 本地运行和测试
    • 依赖锁定
    • 构建
    • 发布
    • 生产环境实践之CI/CD
      • 创建工作流配置文件
      • 配置GitHub Secrets
      • 创建和推送tag
      • 验证发布
    • 生产环境实践之Docker
      • 创建Dockerfile
      • 构建镜像
      • 运行容器

概述

从一个空目录开始,使用 uv 创建、开发、构建并发布一个名为 ccyy-demo 的命令行调用的工具

初始化项目

uv 提供了 uv init 命令,可以快速生成一个遵循最佳实践的项目骨架。使用 --package 参数可以直接创建标准的 src 布局。

1.基于已有项目进行初始化

# 创建并进入项目根目录
mkdir ccyy-demo
cd ccyy-demo# 在当前项目下初始化并生成标准目录结构
# 会自动创建虚拟环境 (.venv)、pyproject.toml, 以及src/ccyy_demo/__init__.py源代码结构
uv init . --package

2.使用uv创建并初始化项目

uv init --package ccyy_demo
# 需单独创建venv环境
uv venv

现在,你的目录结构应该是这样的:

ccyy-demo/
├── .venv/
├── pyproject.toml
├── .python-version
├── .gitignore
├── README.md
└── src/└── ccyy_demo/├── __init__.py

编写应用代码

创建 src/ccyy_demo/main.py 文件,写入命令行调用工具的代码核心逻辑。将使用 argparse 来处理命令行参数。

import argparsedef main():"""CLI 工具的主入口函数"""parser = argparse.ArgumentParser(description="一个由 ccyy-demo 创建的、使用 uv 构建的简单 CLI 工具。")parser.add_argument("--name",default="World",help="The name to greet.")args = parser.parse_args()print(f"Hello, {args.name}! This is ccyy-demo speaking.")if __name__ == "__main__":main()

src/ccyy_demo/__init__.py的执行入口添加实现函数

from .main import main as ccyy_demo_maindef main() -> None:ccyy_demo_main()

定义项目 (pyproject.toml)

pyproject.toml是现代Python项目的核心配置文件,它遵循 PEP 621 标准,用于定义项目的元数据、依赖项和构建系统。

uv init 已经为生成了一个 pyproject.toml模板,默认内容如下:

[project]
name = "ccyy-demo"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [][project.scripts]
ccyy-demo = "ccyy_demo:main"[build-system]
requires = ["hatchling"]
build-backend = "hatchli
http://www.dtcms.com/a/450098.html

相关文章:

  • 基于MATLAB的物理层算法原型验证
  • PHP网站开发程序员招聘一站式做网站哪家专业
  • 绵阳网站建设哪家好微信下拉小程序怎么关闭
  • 软件设计师——08 算法设计与分析
  • 炫酷企业网站网上买东西有哪些平台
  • DAY 42 Grad-CAM与Hook函数-2025.10.6
  • 绵阳网站建设培训学校隐私空间
  • 淮安网站建设做北京电梯招标的网站
  • 专业企业网站建设定制百度如何做网站
  • Net-Tools工具包详解:Linux网络管理经典工具集
  • 极路由做网站无锡网站推广公司排名
  • registrateAPI——非空函数
  • 环境设计案例网站基于html5动画的网站
  • CCF编程能力等级认证GESP—C++4级—20250927
  • 网站收录率怎样建立自己网站多少钱
  • 电商平台网站设计公司企业建站搭建
  • 【数据结构】链栈的基本操作
  • 实战分享:股票数据API接口在量化分析中的应用与体验
  • 个人建设网站还要备案么wordpress建站详细教程视频
  • Vue2 和 Vue3 View
  • 乐趣做网站厦门做网站的公司
  • 使用jmeter做压力测试
  • [工作流节点15] 推送消息节点在企业内部通知中的应用实践
  • 热转印 东莞网站建设ui界面设计英文
  • 【数据结构学习篇】--树
  • Linux中驱动程序通过fasync异步通知应用程序的实现
  • MySQL索引优化:让查询快如闪电
  • 什么是营销型网站呢什么网站做新产品代理
  • 海沧建设网站多少jetpack报错 wordpress
  • 从零起步学习Redis || 第九章:缓存雪崩,缓存击穿,缓存穿透三大问题的成因及实战解决方案