Python如何实现在PyPI上发布自定义软件包(pypi,python,开发技术)

时间:2024-05-04 19:42:23 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

1. 引言

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

2. 创建PyPI账号

网址: https://pypi.org/

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

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

3. 创建包名

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

4. 按照如下格式组织包

Python如何实现在PyPI上发布自定义软件包

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

上述脚本 src/aiway/__init__.py内容如下:

deffunction():print("hellofromsrc/aiway/__init__.py")

脚本 src/aiway/test.py内容如下:

deftestfunction():print("hellofromsrc/aiway/test.py")

脚本LICENSE: 我们这里留白

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

脚本pyproject.toml,内容如下:

[build-system]requires=["setuptools>=42"]build-backend="setuptools.build_meta"

我们必须创建该文件

脚本 setup.py,内容如下:

fromtimeimporttimeimportsetuptoolswithopen("README.md","r",encoding="utf-8")asfh:long_description=fh.read()setuptools.setup(name="aiway",version="0.0.0",author="YourNameGoesHere",author_email="youremail@gmail.com",description="Atestpackage",long_description=long_description,long_description_content_type="text/markdown",url="https://github.com/pypa/sampleproject",project_urls={"BugTracker":"https://github.com/pypa/sampleproject/issues",},classifiers=["ProgrammingLanguage::Python::3","License::OSIApproved::MITLicense","OperatingSystem::OSIndependent",],package_dir={"":"src"},packages=setuptools.find_packages(where="src"),python_requires=">=3.6",)

5. 安装 Build & Twine

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

pipinstallbuildtwine

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

Python如何实现在PyPI上发布自定义软件包

6. 构建测试包

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

python-mbuild

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

Python如何实现在PyPI上发布自定义软件包

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

Python如何实现在PyPI上发布自定义软件包

7. 上传测试包

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

python-mtwineuploaddist/*

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

Python如何实现在PyPI上发布自定义软件包

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

Python如何实现在PyPI上发布自定义软件包

Python如何实现在PyPI上发布自定义软件包

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

python-mtwineuploaddist/*--skip-existing

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

python-mtwineuploaddist/*--skip-verbose
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python如何实现在PyPI上发布自定义软件包的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:yolov5中head怎么修改为decouple head下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18