Python发布自己的软件包
[TOC]
概述
在Python中我们经常使用pip
来安装第三方Python软件包,其实我们每个人都可以免费地将自己写的Python包发布到PyPI上,供他人来通过pip
进行安装。
发布教程
网址: PyPI · The Python Package Index
我们可以通过上面的链接在PyPI官网免费创建一个帐户。
我们需要先创建一个帐户,然后才能发布测试包。
我们可以发布任意我们想要定义的包名,只要和以前发布过的包没有重名过。我们可以快速在网站[PyPI](PyPI · The Python Package Index)上检查是否有同名包。为了方便示例,我们使用aiway
来作为示例的包名。
下面就开始介绍如何将自己的Python项目发布到PyPI
2.1 创建目录结构
1 | . |
然后在 setup.py
所在目录下,我们运行它来将项目本地打包:
1 | python setup.py sdist |
没有问题的话,在打包之后我们会得到如下目录树:
1 | . |
上传到Pypi服务器
首先在setup.py这一级的目录下建立一个系统文件 .pypirc
内容如下:
1 | [distutils] |
验证
至此我们整个Python包的发布过程就已经完成了,我们可以(在其他机器)安装来验证一下:
1 | pip install aura-utils |
然后准备一个测试文件:
1 | # test.py |
在测试文件中调用自己包中的函数,看测试是否正常工作:
删除
如果你想删除自己的 Pypi 包,只需要登陆到自己的 Pypi 网站的账户,并进入到自己想要删除的项目,然后选择对应版本,点击 Optins -> Delete 即可,过程中会要求你输入删除的版本号来防止误删除,在删除后也会给你的邮箱发送邮件提醒。
但是,这不是一个好主意,因为前一个软件包的所有用户都会看到他们的安装失败。
如果要弃用程序包,可以执行的操作是使用指向新程序包的README发布最后一个发行版。有人为python-cli-ui做了那个,它被替换为cli-ui
你也可以:
setup.py运行时添加警告
或在导入时
或者用一个取决于新名称的虚拟包替换包。
说明
这个过程只是一个简单的 Python 包的发布过程,在过程中其实有许多需要注意的地方,比如 setup.py 文件应当写的更加规范,整个包内的代码也应当更加规范,应当有一个比较好的 Description 或者 README.md 文档等等。这就留在以后有机会再说吧。