Python老司机教你,花几分钟,构建一个Python包

1、前言

构建包的过程有些复杂,但从长远来看是值得的,尤其是可以创建属于自己的Python包。本文的目的是通过对构建一个新发行包的案例研究,让您了解需要构建什么以及如何构建python包的基础知识。

2、开始

首先,您肯定需要设置一个或多个内容,以便了解如何构建python包。因此,需要的东西的如下:

IDE (Vs Code)

Python 3

构建Python包

本文中构建的标称为b_dist。b_dist是一个分布包,它有Gaussian, Binomial, e.t.c等类。但首先,使用下面的映射结构创建包文件夹:
IMG_257
首先,您必须为上面在映射中列出的那些创建一个空文件。注意:b_dist是一个文件夹,setup.py带有自述文件。md不在b_dist文件夹中。

Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。

下面,让我们先谈谈b_dist里面的文件:

b_dist/init.py

这个文件告诉python这个文件夹包含一个包。另外,包总是由init文件组成,即使它是空的。当您在python程序中导入一个包时,剩余的__init__文件就会运行。在这种情况下,其他的__init__文件导入高斯、二项和分布模型,以便在使用包时直接导入这些类。

b_dist/Binomialdistribution.py

二项文件是用于计算和可视化二项分布的类。

b_dist/Guassiandistribution.py

高斯文件是用于计算和可视化高斯分布的类。

b_dist/Generaldistribution.py

通用分布文件是用于计算和可视化概率分布的类。

b_dist/licence.txt

许可证档案实际上载有你的版权资料,说明你打算准许其他使用者自由使用你的套件。

b_dist/setup.cfg

cfg文件是一个保存自述文件数据的文件。

README.md

这是包的文档。它描述了包是如何工作的

setup.py

py文件是pip安装包所必需的。此外,它还包含关于包的元数据。请注意以下属性,如名称和包。这个属性必须与文件夹名’ b_dist '具有相同的值,以便在上传我们的包时避免bug。

本地运行包

让我们先通过输入下面的代码在本地运行包:
IMG_259
输入后应该是输出:
IMG_260
最后,我们的包已经安装好了。让我们通过输入下面的代码来测试它是否有效:
IMG_261
太棒了! !,现在我们的包可以工作了,让我们继续进行下一个部分。

上传Python包

使用PyPI可以快速上传新构建的包。首先来看什么是PyPi。PyPi代表Python包索引(PyPi),它是Python编程语言的软件存储库。

所以现在要将我们的包上载到PyPI站点的测试版本,另外要确保pip安装过程是否正常,然后现在要上载到PyPI站点。

首先,用测试创建一个帐户。对两个站点使用相同的用户名和密码。

在成功创建两个帐户之后,让我们返回IDE并将包上传到TestPyPi。但首先,要与这些站点通信,您需要pip安装一个名为twine的库,使用:
IMG_263
所以,安装twine后,输入以下代码先上传到TestPyPi:
IMG_264
输入代码后,您将看到两个新文件夹,然后移动到下一行代码:
IMG_265
输入密码后,你会看到一条成功的消息:“上传package_name 100%成功”。要检查上传是否成功,请访问您的TestPyPi帐户并查看您的新包。

现在使用以下代码从TestPyPi站点安装pip:
IMG_266
成功集成TestPyPi之后,现在让我们继续上载到主PyPi,在那里可以使用包名直接进行pip安装,也可以公开使用。
IMG_267
祝贺您,您已经成功地构建了一个python包。现在在pypi.org上检查新上传的包

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/455871.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【防止重复提交】Redis + AOP + 注解的方式实现分布式锁

文章目录 工作原理需求实现1)自定义防重复提交注解2)定义防重复提交AOP切面3)RedisLock 工具类4)过滤器 请求工具类5)测试Controller6)测试结果 工作原理 分布式环境下,可能会遇到用户对某个接…

阿里云游戏服务器租用价格表,2024最新报价

阿里云游戏服务器租用价格表:4核16G服务器26元1个月、146元半年,游戏专业服务器8核32G配置90元一个月、271元3个月,阿里云服务器网aliyunfuwuqi.com分享阿里云游戏专用服务器详细配置和精准报价: 阿里云游戏服务器租用价格表 阿…

PySpark(三)RDD持久化、共享变量、Spark内核制度,Spark Shuffle

目录 RDD持久化 RDD 的数据是过程数据 RDD 缓存 RDD CheckPoint 共享变量 广播变量 累加器 Spark 内核调度 DAG DAG 的宽窄依赖和阶段划分 内存迭代计算 Spark是怎么做内存计算的? DAG的作用?Stage阶段划分的作用? Spark为什么比MapReduce快? Spar…

百度PaddleOCR字符识别推理部署(C++)

1 环境 1.opencv(https://sourceforge.net/projects/opencvlibrary/) 2.cmake(https://cmake.org/download/) 3.vs2019((https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.1) 4.paddleOCR项目-建议2.0(http…

CODE V的API 之 MTF数据的获取(2)

MTF数据获取的方法 文章目录 MTF数据获取的方法前言一、基本过程二、具体代码如下总结(运行结果) 前言 本次实验主要通过VBA,进行 CODE V和 excel连接,同时输出个视场的MTF数据,以便于后续进行处理。 一、基本过程 …

【我与Java的成长记】之封装,继承详解(一)(能看懂文字就能明白系列)

系列文章目录 能看懂文字就能明白系列 C语言笔记传送门 Java笔记传送门 🌟 个人主页:古德猫宁- 🌈 信念如阳光,照亮前行的每一步 文章目录 系列文章目录🌈 *信念如阳光,照亮前行的每一步* 前言一、封装&am…

vue2.0+使用md-edit编辑器

前言:小刘开发过程中,如果是博客项目一般是会用到富文本。众多富文本中,小刘选择了markdown,并记录分享了下来。 # 使用 npm npm i kangc/v-md-editor -Smain.js基本配置import VueMarkdownEditor from kangc/v-md-editor; import…

Oracle systemstate、gdb、dbx介绍

当数据库出现严重的性能问题或者hang了的时候, 可能最常用的办法就是重启数据库,简单有效解决问题;但是重启后如何追踪问题的根本原因成了难题,很多信息随着重启也消失不见了,让追查问题变的十分棘手,这时就…

配置Jenkins自动构建打包项目

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 需求说明 1、给A项目配置jenkins每2小时无条件自动构建一次,无论是否有代码提交。 2、给B项目配置jenkins每15分钟检…

向量投影的计算

如何理解施密特(Schmidt)正交化 - 知乎 向量投影中需要注意的点: bcosa称为b向量在a向量上的投影;但是要算cosa,不算也是可以的: 假设b向量在a向量的投影为ka,那么 (b-ka)a0,因为他们正交,展开得 bakaa…

分享springboot框架的一个开源的本地开发部署教程(若依开源项目开发部署过程分享持续更新二开宝藏项目MySQL数据库版)

1首先介绍下若依项目: 若依是一个基于Spring Boot和Spring Cloud技术栈开发的多租户权限管理系统。该开源项目提供了一套完整的权限管理解决方案,包括用户管理、角色管理、菜单管理、部门管理、岗位管理等功能。 若依项目采用前后端分离的架构&#xf…

mysql开启慢查询日志,记录执行慢的sql语句

执行语句,查询是否开启了慢查询 show variables like slow_query%; ON 则表示已经开启了 打开配置文件,在你安装的mysql目录下面 MySQL\MySQL Server 8.0 表示是否开启慢查询 1表示开启 slow-query-log1 存放慢查询的日志的目录 slow_query_log_file"DES…