Python如何实现在PyPI上发布自定义软件包
本篇内容介绍了“Python如何实现在PyPI上发布自定义软件包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1. 引言
在Python中我们经常使用pip来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI上,供他人来通过pip进行安装。
2. 创建PyPI账号
网址: https://pypi.org/
我们可以通过上面的链接在PyPI官网免费创建一个帐户。
我们需要先创建一个帐户,然后才能发布测试包。
3. 创建包名
我们可以发布任意我们想要定义的包名,只要和以前发布过的包没有重名过。我们可以快速在网站PyPI上检查是否有同名包。为了方便示例,我们使用aiway来作为示例的包名。
4. 按照如下格式组织包
需要注意的是我们可以使用任意我们想要发布的包名来替换上述aiway包名。
上述脚本 class="lazy" data-src/aiway/__init__.py内容如下:
def function(): print("hello from class="lazy" data-src/aiway/__init__.py")
脚本 class="lazy" data-src/aiway/test.py内容如下:
def testfunction(): print("hello from class="lazy" data-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={"": "class="lazy" data-src"}, packages=setuptools.find_packages(where="class="lazy" data-src"), python_requires=">=3.6",)
5. 安装 Build & Twine
接着我们通过pip来安装我们的依赖包,命令如下:
pip install build twine
我们需要用到上述两个包来将我们的测试包推送到PyPI。安装过程如下:
6. 构建测试包
接着我们来编译我们的测试包,命令如下:
python -m build
在将包上载到PyPI之前,我们需要首先使用build构建它。上述命令的输出如下:
上述命令运行完成后,我们将会得到目录dist 以及 格式为 <package-name>.egg-info的包。如下所示:
7. 上传测试包
接着我们使用以下命令将包上传,如下所示:
python -m twine upload dist/*
包twine用来将我们的测试包上传至PyPI。上述命令执行过程中需要输入我们注册的网站的用户名和密码。如下所示:
同时我们可以在网站上看到我们上传的包,如下:
如果我们只是更新已经存在的包的版本,我们可以使用如下命令:
python -m twine upload dist/* --skip-existing
同时我们可以添加调试标志--verbose,来检查上述命令执行过程中的出错信息,如下:
python -m twine upload dist/* --skip-verbose
“Python如何实现在PyPI上发布自定义软件包”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341