大数跨境
0
0

【Python】如何在PyPI上发布自定义软件包

【Python】如何在PyPI上发布自定义软件包 AI算法之道
2022-06-11
2
导读:本文重点介绍了如何在PyPI上发布自定义软件包的流程,其中每一步都给出了详细的解释和图解。






01


引言



在Python中我们经常使用pip来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI上,供他人来通过pip进行安装。


在本文中,我们将从一步一步地详细介绍如何发布测试包。

闲话少说,我们直接开始吧!





02


创建PyPI账号


网址:https://pypi.org/

我们可以通过上面的链接在PyPI官网免费创建一个帐户。

我们需要先创建一个帐户,然后才能发布测试包。





03


 创建包名


我们可以发布任意我们想要定义的包名,只要和以前发布过的包没有重名过。我们可以快速在网站PyPI上检查是否有同名包。

PyPI

https://pypi.org/

为了方便示例,这里我们使用aiway来作为示例的包名。




04


 组织测试包文件格式


我们需要按照如下格式组织测试包:

需要注意的是我们可以使用任意我们想要发布的包名来替换上述aiway包名。

  • 上述脚本 src/aiway/__init__.py 内容如下:
def function():    print("hello from src/aiway/__init__.py")
  • 上述脚本 src/aiway/test.py 内容如下:
def testfunction():    print("hello from src/aiway/test.py")
  •  脚本LICENSE: 我们这里留白

  •  脚本README.md:这里可以描述包的用途

  •  脚本pyproject.toml,内容如下:

[build-system]requires = ["setuptools>=42"]build-backend = "setuptools.build_meta"
  • 脚本 setup.py,内容如下:
from time import timeimport setuptoolswith open("README.md", "r", encoding="utf-8") as fh:    long_description = fh.read()setuptools.setup(    name="aiway",    version="0.0.0",    author="Your Name Goes Here",    author_email="youremail@gmail.com",    description="A test package",    long_description=long_description,    long_description_content_type="text/markdown",    url="https://github.com/pypa/sampleproject",    project_urls={        "Bug Tracker": "https://github.com/pypa/sampleproject/issues",    },    classifiers=[        "Programming Language :: Python :: 3",        "License :: OSI Approved :: MIT License",        "Operating System :: OS Independent",    ],    package_dir={"": "src"},    packages=setuptools.find_packages(where="src"),    python_requires=">=3.6",)





05


 安装 Build & Twine


接着我们通过 pip 来安装我们的依赖包,命令如下:
pip install build twine

我们需要用到上述两个包来将我们的测试包推送到PyPI。安装过程如下:





06


构建测试包


接着我们来编译我们的测试包,命令如下:

python -m build

在将包上载到PyPI之前,我们需要首先使用build构建它。上述命令的输出如下:

上述命令运行完成后,我们将会得到目录dist以及格式为 <package-name>.egg-info的包。如下所示:





07


上传测试包


接着我们使用以下命令将包上传,如下所示:

python -m twine upload dist/*

twine 用来将我们的测试包上传至PyPI。上述命令执行过程中需要输入我们注册的网站的用户名和密码。如下所示:

同时我们可以在网站上看到我们上传的包,如下:

如果我们只是更新已经存在的包的版本,我们可以使用如下命令:

python -m twine upload dist/* --skip-existing





08

总结



本文重点介绍了如何在PyPI上发布自定义软件包的流程,其中每一步都给出了详细的解释和图解。 


您学废了嘛?






点击上方小卡片关注我



万水千山总关情,点个在看行不行。

【声明】内容源于网络
0
0
AI算法之道
一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
内容 573
粉丝 0
AI算法之道 一个专注于深度学习、计算机视觉和自动驾驶感知算法的公众号,涵盖视觉CV、神经网络、模式识别等方面,包括相应的硬件和软件配置,以及开源项目等。
总阅读23
粉丝0
内容573