首页 > 编程语言 >发布你的第一个python包

发布你的第一个python包

时间:2024-12-14 18:53:45浏览次数:4  
标签:第一个 python pypi -- 发布 python3 pip 打包

这里介绍如何将你写的python工具包,打包成whl,并发布到pypi.org网站,使用pip进行安装使用。

大致步骤如下:

  1. 注册测试testpypi.org网站,生成上传的token
  2. 注册正式pypi.org网站,生成上传的token
  3. 编写代码
  4. 规划项目代码目录布局
  5. 编写打包文件pyproject.toml
  6. upload上传测试testpypi
  7. upload上传正式pypi

参考链接:
https://packaging.python.org/en/latest/tutorials/packaging-projects/

命令如下:

python3 -m pip install --upgrade pip   # 安装升级pip
python3 -m pip install --upgrade build  # 安装build工具包
python3 -m build  # 编译打包
python3 -m pip install --upgrade twine  # 安装上传工具包twine
python3 -m twine upload --repository testpypi dist/*  # 发布测试testpypi
python3 -m twine upload --repository pypi dist/*  # 发布正式pypi

项目结构大概如下:

packaging_tutorial/
├── LICENSE    开源协议
├── pyproject.toml   打包的配置文件
├── README.md   项目描述
├── src/   源代码
│   └── example_package_YOUR_USERNAME_HERE/
│       ├── __init__.py
│       └── example.py
└── tests/

这里再具体介绍下打包的配置文件如何编写:

[project]
name = "chineserand"
version = "0.0.3"
authors = [
  { name="chenzuoli", email="chenzuoli709@163.com" },
]
description = "随机生成中文字符工具包"
readme = "README.md"
requires-python = ">=3.0"
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]

[project.urls]
Homepage = "https://github.com/chenzuoli/chineserand"
Issues = "https://github.com/chenzuoli/chineserand/issues"

# 这里是配置打包时,是否包含txt rst数据文件,与根目录下的MANIFEST.in 文件配合使用
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
mypkg = ["*.txt", "*.rst"]

这里是配置打包时,是否包含txt rst数据文件,与根目录下的MANIFEST.in 文件配合使用

[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
mypkg = ["*.txt", "*.rst"]

MANIFEST.in 文件内容的写法,参考:https://setuptools.pypa.io/en/latest/userguide/miscellaneous.html#using-manifest-in
包含某个文件,就这样写:

include src/chineserand/*.rst

不需要某个文件,就这样写:

exclude src/chineserand/*.py

好了,大家慢慢琢磨。

记录也是一种修行。

修行


欢迎关注微信公众号,你的资源可变现:【乐知付加密平台】

乐知付加密平台

欢迎关注微信公众号,这里记录博主的创业之旅:【程序员写书】

程序员写书

一起学习,一起进步。

标签:第一个,python,pypi,--,发布,python3,pip,打包
From: https://www.cnblogs.com/chenzuoli/p/18607059

相关文章

  • 随机中文字符生成-python包工具
    这里介绍一个python工具包,随机生成中文文字,方便中文模型训练及随机中文字符串填充场景。操作如下:pipinstallchineserand代码示例:fromchineserandimportrawchinese_words=raw(10)print(chinese_words)项目开源地址:https://github.com/chenzuoli/chineserand......
  • Python中去除字符串中的单个或多个空格的方法
    python中去除字符串中空格的方法比较多,单个看起来也都比较简单将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法>>>S1="IloveDory">>>S1.strip()#去除字符串首尾的空格'IloveDory' 方法二:lstrip()方法>>>S2="IloveDory">>&......
  • 2024最新Python学习路线图来了!附学习资料(建议收藏)
     前言作为在软件开发领域摸爬滚打十多年的Python老码农,我见证了Python从一个小众语言成长为如今在数据科学、Web开发、自动化运维、人工智能等多个领域占据重要地位的明星语言。今天,我将基于自己的经验,为Python零基础的学习者规划一条清晰的学习路线,全篇干货,建议大家动动手......
  • 数据结构与算法Python版 栈的应用
    文章目录一、栈的应用-十进制转换二、栈的应用-表达式转换三种表达式中缀表达式转后缀表达式三、栈的应用-后缀表达式求值一、栈的应用-十进制转换十进制转换为二进制所谓的“进制”,就是用多少个字符来表示整数,十进制是0~9这十个数字字符,二进制是0、1两个字符十进......
  • Python机器学习--决策树算法
    一、决策树原理决策树是用样本的属性作为结点,用属性的取值作为分支的树结构。决策树的根结点是所有样本中信息量最大的属性。树的中间结点是该结点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样本的类别值。决策树是一种知识表示形式,它是对所有样本......
  • 库房管理系统开发指南(Python)
    一、引言库房管理系统是现代企业物流管理的重要组成部分,它能够提高库存管理的效率,减少库存成本,并优化资源分配。本文将详细介绍如何使用Python编写一个简单的库房管理系统,包括开发思想、开发流程以及详细的代码示例。二、开发思想需求分析:库存物品的增删改查。库存数量的统......
  • Python爬取数据插入mysql(简易记录)
    importmysql.connectorimportrequestsfromlxmlimporthtml#连接MySQL数据库db=mysql.connector.connect(host="?",user="?",password="?",database="?")cursor=db.cursor()company_url=......
  • Pytest接口自动化测试框架Python自动化测试开发
    一、引言在软件开发过程中,接口测试是确保软件各个组件之间数据传输和功能交互正常工作的重要环节。通过接口测试,可以提高软件的整体质量和稳定性。Pytest是一个流行的Python自动化测试框架,提供了丰富的断言方法和灵活的测试组织结构,使得编写接口测试用例变得简单而高效。本文将详......
  • 项目8:简单数字华容道 --- 《跟着小王学Python·新手》
    项目8:简单数字华容道—《跟着小王学Python·新手》《跟着小王学Python》是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬......
  • python版本切换
    1、搜索框输入:环境变量2、在下面的系统变量:选择path->点击:编辑3、将需要的python版本上移到上面,调整好后,一路点击确定关闭几个打开的窗口,保存环境变量配置。3、打开cmd,输入:python--version确认版本是否切换成功......