IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【Python包管理系列1】python打包发布到PyPI全过程(入门版) -> 正文阅读

[Python知识库]【Python包管理系列1】python打包发布到PyPI全过程(入门版)

目的

如果发布一个python包到pypi上,共他人使用,本文试图讲清楚。

准备知识

PyPI

官网地址:https://pypi.org/

全称Python Package Index(Python包索引),是 Python 编程语言的软件存储库。网站版权归Python软件官方基金会所有。

我们使用pip install安装的包,就是从这个站点(或它的镜像站)下载的,而这些包也都是其他开发者上传共享的。

这是一个公开的平台,只要注册一个账号,就有权限将包发布上去。下面我们就具体一步步做。

PyPA

官网文档地址:https://www.pypa.io/en/latest/
Github地址:https://github.com/pypa

全称Python Packaging Authority(python打包权利机构),这是一个开源Group,专门维护Python打包及发布所用到的一些工具。pip即由该团队维护,后文要用到的各种工具,基本都出自这个组织。

在这里插入图片描述

setuptools

官方文档:https://setuptools.pypa.io/en/latest/index.html
Github:https://github.com/pypa/setuptools

setuptools是PyPA提供的包构建系统,使用它,我们只需写一份配置文件(pyproject.toml or setup.cfg or setup.py)即可,不需要太去深究其内部。

build

官方文档:https://pypa-build.readthedocs.io/en/latest/index.html
Github:https://github.com/pypa/build

build由PyPA在2020年发布了第一个版本,它提供一个命令行构建命令python -m build,即可轻松构建发布文件。

在这之前,我们必须使用python setup.py进行包的构建,带来很多问题,目前setuptools官方文档已经不在推荐在不必要的情况加编写setup.py文件,尽量用pyproject.tomlsetup.cfg代替。
在这里插入图片描述

twine

官方文档:https://twine.readthedocs.io/en/stable/
Github:https://github.com/pypa/twine

twine是PyPA开发的一个PyPI交互程序,可以轻松将已build好的文件上传到PyPI,以供其他人下载。

实战过程

首先,安装前面提到的必要工具

pip install --upgrade build twine

撰写pyproject.toml文件

[project]
name = "pywencai"
version = "0.0.1"
dependencies = [
  "PyExecJS",
  "requests",
  "pandas"
]

梳理好宝目录结构

在这里插入图片描述
将包进行打包

python -m build

成功后,将其推送至pypi

twine upload dist/*

该命令需要你输入pypi的用户名和密码,没有的话可以免费注册

在这里插入图片描述
可以看到,包被成功发布到pypi,访问地址 https://pypi.org/project/pywencai/0.0.1/

总结

这是一个最简单的发布过程,并不一定会满足所有情况,比如我们想打包一些额外的文件,想撰写包的描述等,这些工作可能都是我们需要的。

但是,build工具的官方文档极其简单,并没有过多的关于这些配置的说明,实现起来很容易摸不到头脑。

所以,这里推荐另一个工具:Peotry,用它来管理包和发布包将会更简单,后面发文分享。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 00:49:11  更:2022-09-30 00:52:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:57:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码