目录
设置您的项目结构
创建正确的元数据
建造和上传您的包裹
首页 后端开发 Python教程 在PYPI上分发Python包装

在PYPI上分发Python包装

Jul 23, 2025 am 02:29 AM

要在PYPI上放置Python软件包,请按照以下步骤:首先使用SRC/文件夹,Setup.py或Pyproject.toml,Readme.md和许可证来组织您的项目结构;接下来,使用pyproject.toml为现代设置创建适当的元数据;然后使用构建和麻线工具构建和上传软件包。首先,正确构建项目以避免以后避免导入问题,以确保存在所有必要的文件。将pyproject.toml用于元数据,确保指定独特的名称,正确的版本,作者详细信息,描述,许可证和分类器。准备代码和元数据后,安装构建和麻线,运行Python -M构建以生成分发文件,首先使用Python -M -M Twine Upload -Repository -url https://test.pypi.org/legacy/legacy/legacy/ distroad测试testpypi上载,并最终与Pypi -pypi -pytolof -pytolof -twince -mm -m。请记住,一旦上传版本,就无法重复使用,因此请仔细管理版本号,尤其是在早期发行期间。

在PYPI上分发Python包装

将您的Python软件包放在PYPI上不是魔术,但确实需要一些仔细的步骤。核心想法是正确准备您的代码,创建正确的文件并使用标准工具上传。到达那里后,人们可以像其他任何包装一样使用PIP安装它。

在PYPI上分发Python包装

设置您的项目结构

甚至在考虑上传到PYPI之前,请确保您的项目正确组织。干净的结构使一切变得更加容易 - 对于您和以后可能安装包装的用户。

至少,您应该有:

在PYPI上分发Python包装
  • 一个包含您实际Python代码的src/文件夹(或类似)
  • setup.pypyproject.toml文件(在下一部分中详细介绍)
  • 用于文档的README.md
  • LICENSE文件

不必遵循此布局,但这是标准的,有助于避免混乱。一个常见的错误是将所有内容都放在没有源文件夹的情况下 - 起初有效,但以后可能会导致进口问题。

创建正确的元数据

元数据告诉PYPI您的软件包是什么,它是什么版本以及如何处理文件。您可以使用setup.py (classic)或pyproject.toml (现代)。

在PYPI上分发Python包装

如果您开始新鲜,请使用pyproject.toml 。它更简单和防止。这是一个基本示例:

 [构建系统]
需要= [“ setuptools> = 61.0”]
build-backend =“ setuptools.build_meta”

[项目]
name =“ your-pakeage-name”
版本=“ 0.1.0”
作者= [
  {name =“您的名字”,email =“ you@example.com”}
这是给出的
描述=“包裹的简短描述”
readme =“ readme.md”
许可= {file =“许可”}
需要python =“> = 3.7”
分类器= [
    “编程语言:: python :: 3”,
    “许可证:: OSI批准:: MIT许可”,
    “操作系统:: OS独立”,
这是给出的

确保名称是独一无二的,并遵循命名规则( lowercase-with-dashes ,而不是CamelCase )。另外,仔细检查您的版本编号是有道理的 - 管理更新时,您将稍后感谢自己。

建造和上传您的包裹

一旦您的代码和元数据准备就绪,就该建立和上传了。您需要的两个工具: buildtwine

将它们安装一次:

 PIP安装构建麻线

然后,从您的项目root运行:

 Python -M构建

这将在新的dist/文件夹中创建两个文件: .tar.gz源存档和.whl Wheel文件。

现在用TestPypi首先测试上传(良好实践):

 Python -M Twine上传-Repository-URL https://test.pypi.org/legacy/ dist/*

如果有效,请执行真正的操作:

 Python -M Twine上传dist/*

它会要求您的PYPI用户名和密码(或API令牌)。完毕!

人们经常忘记的一件事:如果您弄乱了上传,则无法重复使用相同的版本号。因此,如果您仍在快速迭代,请仔细选择您的版本 - 使用0.0.1 0.0.2a

基本上就是这样。一旦完成一次,还不错。只需记住要在推出新版本之前保持元数据更新并进行测试。

以上是在PYPI上分发Python包装的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

PHP教程
1535
276
用于量子机学习的Python 用于量子机学习的Python Jul 21, 2025 am 02:48 AM

要入门量子机器学习(QML),首选工具是Python,需安装PennyLane、Qiskit、TensorFlowQuantum或PyTorchQuantum等库;接着通过运行示例熟悉流程,如使用PennyLane构建量子神经网络;然后按照数据集准备、数据编码、构建参数化量子线路、经典优化器训练等步骤实现模型;实战中应避免一开始就追求复杂模型,关注硬件限制,采用混合模型结构,并持续参考最新文献和官方文档以跟进发展。

成品python大片在线观看入口 python免费成品网站大全 成品python大片在线观看入口 python免费成品网站大全 Jul 23, 2025 pm 12:36 PM

本文为您精选了多个顶级的Python“成品”项目网站与高水平“大片”级学习资源入口。无论您是想寻找开发灵感、观摩学习大师级的源代码,还是系统性地提升实战能力,这些平台都是不容错过的宝库,能帮助您快速成长为Python高手。

python run shell命令示例 python run shell命令示例 Jul 26, 2025 am 07:50 AM

使用subprocess.run()可安全执行shell命令并捕获输出,推荐以列表传参避免注入风险;2.需要shell特性时可设shell=True,但需警惕命令注入;3.使用subprocess.Popen可实现实时输出处理;4.设置check=True可在命令失败时抛出异常;5.简单场景可直接链式调用获取输出;日常应优先使用subprocess.run(),避免使用os.system()或已弃用模块,以上方法覆盖了Python中执行shell命令的核心用法。

python seaborn关节图示例 python seaborn关节图示例 Jul 26, 2025 am 08:11 AM

使用Seaborn的jointplot可快速可视化两个变量间的关系及各自分布;2.基础散点图通过sns.jointplot(data=tips,x="total_bill",y="tip",kind="scatter")实现,中心为散点图,上下和右侧显示直方图;3.添加回归线和密度信息可用kind="reg",并结合marginal_kws设置边缘图样式;4.数据量大时推荐kind="hex",用

Python网络刮擦教程 Python网络刮擦教程 Jul 21, 2025 am 02:39 AM

掌握Python网络爬虫需抓住三个核心步骤:1.使用requests发起请求,通过get方法获取网页内容,注意设置headers、处理异常及遵守robots.txt;2.利用BeautifulSoup或XPath提取数据,前者适合简单解析,后者更灵活适用于复杂结构;3.针对动态加载内容使用Selenium模拟浏览器操作,虽速度较慢但能应对复杂页面,也可尝试寻找网站API接口提高效率。

python列表到字符串转换示例 python列表到字符串转换示例 Jul 26, 2025 am 08:00 AM

字符串列表可用join()方法合并,如''.join(words)得到"HelloworldfromPython";2.数字列表需先用map(str,numbers)或[str(x)forxinnumbers]转为字符串后才能join;3.任意类型列表可直接用str()转换为带括号和引号的字符串,适用于调试;4.自定义格式可用生成器表达式结合join()实现,如'|'.join(f"[{item}]"foriteminitems)输出"[a]|[

python httpx async客户端示例 python httpx async客户端示例 Jul 29, 2025 am 01:08 AM

使用httpx.AsyncClient可高效发起异步HTTP请求,1.基本GET请求通过asyncwith管理客户端并用awaitclient.get发起非阻塞请求;2.并发多个请求时结合asyncio.gather可显着提升性能,总耗时等于最慢请求;3.支持自定义headers、认证、base_url和超时设置;4.可发送POST请求并携带JSON数据;5.注意避免混用同步异步代码,代理支持需注意后端兼容性,适合用于爬虫或API聚合等场景。

Python连接到SQL Server PYODBC示例 Python连接到SQL Server PYODBC示例 Jul 30, 2025 am 02:53 AM

安装pyodbc:使用pipinstallpyodbc命令安装库;2.连接SQLServer:通过pyodbc.connect()方法,使用包含DRIVER、SERVER、DATABASE、UID/PWD或Trusted_Connection的连接字符串,分别支持SQL身份验证或Windows身份验证;3.查看已安装驱动:运行pyodbc.drivers()并筛选含'SQLServer'的驱动名,确保使用如'ODBCDriver17forSQLServer'等正确驱动名称;4.连接字符串关键参数

See all articles