美文网首页生活不易 我用python
Python学习教你在几分钟内构建一个Python包

Python学习教你在几分钟内构建一个Python包

作者: Python小辰 | 来源:发表于2020-10-31 22:00 被阅读0次

    前言

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

    开始

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

    IDE (Vs Code)

    Python 3

    构建Python包

    本文中构建的标称为b_dist。b_dist是一个分布包,它有Gaussian, Binomial, e.t.c等类。但首先,使用下面的映射结构创建包文件夹:

    首先,您必须为上面在映射中列出的那些创建一个空文件。注意:b_dist是一个文件夹,setup.py带有自述文件。md不在b_dist文件夹中。

    Python作为一门不断发展与普及的语言,还在不断更新中。在学习时,建议找一些学习伙伴一起来学习和讨论,效果更佳。如果想学习Python,欢迎加入Python学习交流群(627012464),一起督促,一起学习。里面有开发工具,很多干货和技术资料分享!

    让我们先谈谈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。

    本地运行包

    让我们先通过输入下面的代码在本地运行包:

    输入后应该是输出:

    最后,我们的包已经安装好了。让我们通过输入下面的代码来测试它是否有效:

    太棒了! !,现在我们的包可以工作了,让我们继续进行下一个部分。

    上传Python包

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

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

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

    在成功创建两个帐户之后,让我们返回IDE并将包上传到TestPyPi。但首先,要与这些站点通信,您需要pip安装一个名为twine的库,使用:

    所以,安装twine后,输入以下代码先上传到TestPyPi:

    输入代码后,您将看到两个新文件夹,然后移动到下一行代码:

    输入密码后,你会看到一条成功的消息:“上传package_name 100%成功”。要检查上传是否成功,请访问您的TestPyPi帐户并查看您的新包。

    现在使用以下代码从TestPyPi站点安装pip:

    成功集成TestPyPi之后,现在让我们继续上载到主PyPi,在那里可以使用包名直接进行pip安装,也可以公开使用。

    祝贺您,您已经成功地构建了一个python包。现在在pypi.org上检查新上传的包

    相关文章

      网友评论

        本文标题:Python学习教你在几分钟内构建一个Python包

        本文链接:https://www.haomeiwen.com/subject/afqjvktx.html