如何在Pypi上发表自己的Python库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Pypi上发表自己的Python库相关的知识,希望对你有一定的参考价值。

背景

最近兴趣使然写了几个Python库,也发布到了Pypi上,虽然没什么人下载,但自己在其他机器上用着也会很方便。这里我向大家介绍一下如何在Pypi上发表自己的Python库。


准备

注册账号

很显然地要在Pypi上注册一个账号。

安装必要的库

setuptools

原则上安装了pip的环境都有setuptools,但并不影响你去尝试升级一下它。

pip install --upgrade setuptools

twine

这是一个简化将库发布到Pypi上流程的工具,具体的使用之后会讲到。

pip install --upgrade setuptools

克隆仓库(推荐)

大名鼎鼎的requests库的作者大神kennethreitz为大家准备了一个仓库作为一个setup.py的很好的模板,当然你也可以自己手写setup.py。

git clone  https://github.com/kennethreitz/setup.py

编码

编辑setup.py

建议大家直接编辑之前的仓库里的setup.py, 只需要修改一些必要的配置就可以了。这是我最近编写的库condition_chain的配置。

...
# Package meta-data.
NAME = ‘condition_chain‘
DESCRIPTION = ‘Process a series of conditional judgement with a chained call.‘
URL = ‘https://github.com/duyixian1234/condition_chain‘
EMAIL = [email protected]‘
AUTHOR = ‘Yixian Du‘

# What packages are required for this module to be executed?
REQUIRED = [
    # ‘requests‘, ‘maya‘, ‘records‘,
]
...

编写核心代码

接下来我们就可以编写自己的代码了,要注意源代码文件夹(仓库里的my_package文件夹)的名字与setup.py里配置的包名(Name)要一致。
另外在重新上传之前我们要修改__version__.py里的版本号,以免覆盖了以前的上传(相信会有人是需要之前版本的库的)。
最终的代码结构

│  LICENSE
│  MANIFEST.in
│  README.rst
│  setup.py
│
└─condition_chain
        core.py
        __init__.py
        __version__.py

打包上传

在setup.py的同级目录下运行以下命令。

python setup.py sdist bdist_wheel

然后运行

twine upload dist/*

注意要输入Pypi账号和密码。


大功告成

之后我们就可以在Pypi里搜索到自己的Python库了,当然也可以直接通过pip安装。



以上是关于如何在Pypi上发表自己的Python库的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有镜像的情况下创建本地自己的 pypi 存储库索引?

Python 库打包分发简易指南

如何在python中模拟导入的pypi库使用的函数调用

python里的pypi是干啥用的

在pypi上发布python包详细教程

在Pypi上发布自己的Python包