富士山下
状态
文章总数
65篇 总字数
9.0万 运营时长
2年9个月分类
标签
AI Arch BF CLI CSS Fuwari Giscus GTK HEO Hyprland jQuery JS KDE K签 Linux Lisp LLM Path Pypi Python RSS Textual TUI Vim VTB VUP Whl WP 上海 专业 主题 云朵 享乐 优化 伦理 便利店 俄国 光标 内省 内耗 函数式 分析 创伤 创意 判断 前端 北京 参观 反思 可爱 哲学 商业 回忆 国庆 壁纸 天津 女仆 姐妹 字典 学习 安装 实用 对话 工具 库 度假 开发环境 开源 归档 微风 心理 总结 意义 技校 抚远 拥抱 推荐 插件 摄影 政策 故障排查 效果 散文 文件 文化 旅游 日本 日语 显卡 样式 模糊 治愈 浏览器 浦东 浦西 演讲 热力图 特效 猫猫 玩具 环境 甘城 生态 病毒 盘点 直播 社会 社团 视奸 秋游 科幻 移民 窗口 笔记 系统 红枫 终点 终端 经济 美化 美缝 耳机 脑操 自动驾驶 苏州 茅山 萌系 补档 解释器 设计 评论 话术 谷子 走路 轮子 辍学 迁移 运维 重构 随机 静安 音频 项目 颜文字 颜色 首都 魔法 麦金塔 鼠标
317 字
2 分钟
把你的库上传到 PyPI,共享到全世界
首次上传请安装 twine 库
pip install twine
规范文件结构
项目文件夹里应该是这样的结构:
- <项目名称>
__init__.py(主程序)
LICENSEpyproject.toml(库的信息文件)README.md
填写 pyproject.toml
以我的 Output 库为例子:
[project]
name = "outputs" #项目名称
version = "1.12" #版本
description = "这是一个用于扩展CLI打印功能的Python库,主要发展方向是类似`logging`的日志记录功能,但也发展其它方向,而且还支持PinkShell的高仿样式。" #简介
dependencies = ["conkits"] #需要依赖库
authors = [{ name = "Pinpe", email = "813233375@qq.com"}] #作者信息集合
readme = "README.md" #README文件名称
requires-python = ">=3.6" #所需Python版本
classifiers = [
"Programming Language :: Python :: 3", #制作语言
"License :: OSI Approved :: MIT License", #许可证
"Environment :: Console", #类型/用途
"Operating System :: Microsoft :: Windows", #支持的操作系统(下面两条同理)
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
]
[build-system]
requires = ["setuptools>=61.0"] #不需要改变
build-backend = "setuptools.build_meta" #不需要改变
[project.urls]
"blog-url" = "https://pinpe.top" #作者博客地址
打包库文件
在终端打开项目文件夹:
python -m build
上传到 PyPI
python -m twine upload --repository-url https://upload.pypi.org/legacy/ dist/* --verbose
上传过程中需要使用 API token,可在 PyPI 官网注册后申请。
如果此时间过长,文中的信息可能会失去时效性,甚至不再准确。

