前言搭建一个包的过程有点复杂,但从长远来看是值得的,尤其是如果你可以创建自己的Python包的话。本文的目的是通过构建新发行版的案例研究,向您介绍构建什么以及如何构建python包的基础知识。入门首先,您肯定需要设置一项或多项内容才能了解python包的构建方式。因此,需要的东西如下:IDE(VsCode)Python3构建Python包本文构建的名称为b_dist。b_dist是一个分发包,它有Gaussian、Binomial、e.t.c等类。但首先,创建具有以下映射结构的包文件夹:b_dist/__init__.pyBinomialdistribution.pyGuassiandistribution.pyGeneraldistribution.pylicence.txtsetup.cfgREADME.mdsetup.py首先,您必须为上面列出的映射创建一个空文件。注意:b_dist是一个带有setup.py和自述文件的文件夹。md不在b_dist文件夹中。先说b_dist里面的文件:b_dist/__init__.py这个文件告诉python这个文件夹里面有一个包。此外,一个包总是由一个初始化文件组成,即使它是空的。当您在Python程序中导入包时,将运行剩余的__init__文件。在这种情况下,其他__init__文件导入高斯、二项和分布模型,以便在使用包时直接导入这些类。b_dist/Binomialdistribution.py二项式文件是一个用于计算和可视化二项式分布的类。b_dist/Guassiandistribution.pygaussian文件是一个用于计算和可视化高斯分布的类。b_dist/Generaldistribution.py一般分布文件是一个用于计算和可视化概率分布的类。b_dist/licence.txt许可证文件实际上包含您的版权材料,声明您打算允许其他用户自由使用您的包。b_dist/setup.cfgcfg文件是一个包含自述文件数据的文件。README.md这是包的文档。它描述了包是如何工作的。pip安装包需要setup.pypy文件。此外,它还包含有关包的元数据。请注意以下属性,例如名称和包。此属性必须与文件夹名称“b_dist”具有相同的值,以避免在上传我们的包时出现错误。在本地运行包让我们首先通过键入以下命令在本地运行包:#changedirectorytowherethesetupfileandthepackageislocated~$cdpython_package~/python_package:$#Installthepackagelocally#NOTE:pipinstall.installsanysetup.pyfileinthatdirectory.~/python_package:$pipinstall。Aftertheinputshouldbetheoutput:Processing/python_packageBuildingwheelsforcollectedpackages:b-distBuildingwheelforb-dist(setup.py)...doneCreatedwheelforb-dist:filename=b_dist-0.4-py3-none-any.whlsize=5108sha256=d4c6f74daa1add07f37b01a74294e86ab07d655a6e0944bbb46ed6503ae493efStoredindirectory:/tmp/pip-ephem-wheel-cache-3pvdd9ue/wheels/1e/f9/a3/568195cccd4e2d1dcb1edaf9c2708f651b90b6af6fbdfd3f36Successfullybuiltb-dist最后,我们的包安装完成。让我们通过键入以下内容来测试它是否有效:#openthepythonshellIn[1]:/python_package$pythonOut[1]Python3.7.3(default,Mar272019,22:11:17)[GCC7.3.0]::Anaconda,Inc.onlinuxType"help""copyright","credits"or"license"formoreinformation.In[2]>>>fromb_distimportGuassianIn[3]>>>Guassian(10,5)Out[3]mean10,standarddeviation5太棒了!!,现在我们的包可以正常工作了,让我们继续下一部分。上传Python包使用PyPI快速上传新建的包。我们先来看看什么是PyPi。PyPi代表Python包索引(PyPi),它是Python编程语言的软件存储库。所以现在要上传我们的包到PyPI站点的测试版,也要确保pip安装过程没问题,现在要上传到PyPI站点。首先,创建一个带有测试的帐户。对两个站点使用相同的用户名和密码。成功创建两个帐户后,让我们回到IDE并将包上传到TestPyPi。但是首先,要和这些站点通信,需要pip安装一个叫twine的库,使用:pipinstalltwine所以,安装twine之后,先输入下面的代码上传到TestPyPi:#Creatingthedistributionpackagetobeuploaded~/python_package:$pythonsetup.pysdist进入后的代码,你会看到两个新的文件夹,然后移动到下一行代码://test.pypi.org/legacy/#enteryourusernameandpasswordusedinregistraiontothesiteOutput:Enteryourusername:bideenOutput:Enteryourpassword:########输入密码后,您将看到一条成功消息:“上传包名100%成功”。要检查上传是否成功,请访问您的TestPyPi帐户并查看您的新包。现在使用以下代码从TestPyPi站点安装pip:现在让我们继续上传到主PyPi,在这里可以直接使用包名进行pip安装,也可以公开获取。#firstuninstallthepreviuospackageontoaviodconflicts~/python_package:$pipuninstallb_dist#installfrotheTestPyPi~/python_package:$pipinstallb_dist恭喜,你已经成功构建了一个python包。现在在pypi.org上查看新上传的包英文原版:https://medium.com/analytics-vidhya/building-a-python-package-in-minutes-7bb702a6eb65
