当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2022-06-15
1. 引言 在Python中我们经常使用​​pip​​来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI上,供他人来通过​​pip​​进行安装。 在本文中,我们

1. 引言

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

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

2. 创建PyPI账号

网址: https://pypi.org/

我们可以通过上面的链接在PyPI官网免费创建一个帐户。 我们需要先创建一个帐户,然后才能发布测试包。

3. 创建包名

我们可以发布任意我们想要定义的包名,只要和以前发布过的包没有重名过。我们可以快速在网站​​PyPI​​上检查是否有同名包。为了方便示例,我们使用​​aiway​​来作为示例的包名。


4. 按照如下格式组织包


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

需要注意的是我们可以使用任意我们想要发布的包名来替换上述​​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"

我们必须创建该文件 用以约定使用 setuptools 的最低版本

  • 脚本 setup.py,内容如下:
from time import time
import setuptools
with 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",
)

5. 安装 Build & Twine

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


pip install build twine

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

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

6. 构建测试包

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

python -m build

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

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

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

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

7. 上传测试包

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

python -m twine upload dist/*

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

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

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

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

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

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

同时我们可以添加调试标志​​ --verbose ​​,来检查上述命令执行过程中的出错信息,如下:

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

8. 总结

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

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

上一篇:列表
下一篇:没有了
网友评论