当前位置: 首页 > 后端技术 > Python

Python实战教程:教你如何在PyPI上发布自己的python包,分享自己的python包

时间:2023-03-25 20:45:19 Python

1.PyPi的用途我们经常在Python中使用第三方包。默认情况下,使用的第三方工具包基本都是从Pypi.org下载的。举个例子:如果想用Python实现一个金融量化分析工具,目前雅虎和谷歌的金融数据都比较好用。您可能需要阅读这两个平台的API,然后依次完成下载和分析数据的代码。好麻烦,你去PyPi上看看有没有写过这个内容。还好你真的找到了,而且你找到了一个叫yfinance的包。这时候你只需要一个命令,省去了我们从头开始实现的麻烦。是不是很方便。PyPI是PythonPackageIndex的首字母缩写,其实就是Python的Packageagindex,也是Python的官方索引。需要先在本地环境安装pip,然后如果需要安装其他工具包,需要使用说明一句话解释:如果你使用的是Java项目,可以将PyPi理解为Maven。那么我们如何将自己开发的包上传到PyPI中供他人使用呢?2.Python包发布步骤下面将介绍如何将自己的Python工程发布到PyPI2.1创建目录结构创建一个测试工程,比如project_demo,在这个工程下,创建一个要发布的包目录,比如:package_mikezhou_talk,和在project_demo目录下,依次创建几个文件:setup.py、LICENSE、README.rst。2.2准备文件接下来我们将代码以外的文件一一编写。1、README.rst是关于项目的描述文件,一般包括如何安装项目,如何使用项目等。打开README.rst,输入以下内容。这可以定制以包括对项目的一些介绍。2.LICENSE.txt,创建许可证每个上传到PythonPackageIndex的包都包含一个许可证,这个非常重要。这告诉安装您的软件包的用户可以使用您的软件包的条款。开源许可证,如MIT、Apachelicense2.0等。选择许可证后,打开LICENSE,输入许可证文本。3.setup.py文件setup.py是setuptools的构建脚本,用来描述工程,打包的时候会用到这个文件。它告诉PyPI我们项目的名称,它是什么版本,它依赖于哪些库,它支持哪些操作系统,它可以运行在哪些Python版本上,等等。重要参数说明:name:项目名称,name为包的分发名称。·version:项目的版本。需要注意的是PyPI上只允许一个版本。如果后续代码有改动,再次上传时需要增加版本号。author和author_email:项目作者的姓名和邮箱,用于标识包的作者。description:项目的简短描述long_description:项目的详细描述,会显示在PyPI的项目描述页面。必须是rst(reStructuredText)格式·packages:指定要包含在最终发布包中的包。·install_requires:项目依赖哪些库,pipinstall时会自动安装这些库·classifiers:其他信息,一般包括项目支持的Python版本、license、操作系统。克隆setup.py存储库(推荐)如果您觉得手动编写setup.py脚本文件太困难,我为您推荐另一种简单的方法。著名requests库的作者Kennethreitz为大家提供了一个仓库,并准备好了setup.py模板。当然你也可以自己写setup.py。建议直接编辑之前仓库中的setup.py,只需要修改一些必要的配置即可。2.3编写核心代码接下来,我们就可以编写自己的代码了。注意源码文件夹的名称(仓库中package_mikezhou_talk包目录)必须和setup.py中配置的包名(Name)保持一致。这个内容可以根据自己的需要自己实现。2.4生成分发包下一步是为包生成分发包。这些是上传到包索引的档案,可以通过pip安装。确保您有安装工具并安装了最新版本。在生成之前,可以先运行pythonsetup.pycheck,检查setup.py是否有错误。如果没有报错,接下来的输出一般是runningcheck。1、准备以上步骤,一个包基本完成,剩下的打包。可以使用如下命令打包一个源代码包:这样在当前目录的dist文件夹下就会多出一个tar。gz结尾的包:2.也可以打包成wheels格式的包,在dist文件夹下会生成一个whl文件。3.或者从setup.py所在的同一目录运行此命令。以上命令会在dist目录下生成一个tar.gz源码包和一个.whlWheel包。2.5发布包到PyPi1,下一步是去https://pypi.org/account/regi...,如果你有账号请忽略,记住你的账号和密码,稍后上传包.2.下一步是上传你的包,这里使用twine上传。需要先安装twine(使用twine上传分发包,只有twine>=1.11.0才能正确发送元数据到Pypi)3、安装完成后,运行如下命令上传库和上传包,期间whichyouwillbe输入您的注册用户名和密码输入您的PyPI注册用户名和密码。上传完成后,我们的项目就成功发布到了PyPI。3.验证PYPI是否上传成功。上传完成后会显示成功。我们可以直接在PyPI上查看,如下:可以使用pip安装包,验证是否有效。新建一个virtualenv(详细说明见安装包),从TestPyPI安装包:如下图:进入PythonShell验证结果如下:至此,我们已经成功发布了我们的Python程序开发到PyPI,这里可以直接在本地环境中通过pip命令安装示例中的package-mikezhou-talk包。