likes
comments
collection
share

保姆级教程带你开发优质的Python库之下篇【种子项目】

作者站长头像
站长
· 阅读数 12

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动 本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。

正式的Python专栏第11篇,同学站住,别错过这个从0开始的文章!

保姆级教程带你开发优质的Python库之上篇 保姆级教程带你开发优质的Python库之中篇

前面两篇的开发基本把项目准备好了,这篇学委讲讲这个项目开源项目的发布, 正式的发布优秀的项目,分享给全世界python开发者使用

pip install pypi-seed
ppc 

上面的命令,可以让我们快速试用这个种子项目。这个库pypi-seed的主页介绍如下,我们下面细讲。

保姆级教程带你开发优质的Python库之下篇【种子项目】

pypi 仓库 - 它就像App商店

说到发布,学委这里需要提到pypi网站了,如下图所示,摘自学委的另一篇热门文章

保姆级教程带你开发优质的Python库之下篇【种子项目】

很多python高手开发了很多项目,凝炼了一些优质的可复用的代码,但是他们不会选择打包发送一个压缩文件分享。

优秀的开发者会把项目组织好,发布到pypi仓库,然后其他开发者通过一个统一的工具:pip

简单来说,pypi仓库用来存放成千上万的优质的python代码库,然后pip类似手机的应用宝/App下载安装工具,帮我们轻松快速的获取别人的代码。

自己怎么上传代码到pypi的呢?

项目代码可以点击这里Github获取,前面两篇优质python 库开发讲解过了,主要是项目必须配置一个setup.py 。

之前在保姆级教程带你开发优质的Python库之中篇中详细谈了 setup.py,下面直接构建上传项目。

第一步,先把项目打包为特定的格式,比如,调用下面的代码生成通用的whl文件。

复制运行下面的命令,能够生成一个通用的whl包。

python setup.py bdist_wheel --universal

这是部分运行截图: 保姆级教程带你开发优质的Python库之下篇【种子项目】 运行结束后,当前项目会多一个dist目录(包含生成的whl文件,比如 pypi_seed-1.0.7-py2.py3-none-any.whl)。

还有其他中间数据目录,读者可以自己打开看看。

第二步,再上传项目的whl文件到pypi仓库

运行下面的命令:

#如果没有安装twine
pip install twine
#使用twine上传dist目录生成的whl文件到pypi
twine upload dist/pypi_seed-1.0.7-py2.py3-none-any.whl

运行效果如下图: 保姆级教程带你开发优质的Python库之下篇【种子项目】

运行过程需要输入pypi网站的用户名和密码。

如果没有,需要在pypi.org 注册账户才能发布自己的库。

发布成功就可以在pypi仓库查到(打开上图的twine在上传包成功后会显示库的链接)。下面打开看看。

第三步 查看发布的库

比如下面的,从pypi截图的。也可以搜索库名字,看看。 保姆级教程带你开发优质的Python库之下篇【种子项目】

比如下面是这个库的一些版本发布历史:

保姆级教程带你开发优质的Python库之下篇【种子项目】

如何获取别人分享的库

比如这个pypi-seed ,这个用来生成库项目的工具。 可以通过以下命令安装。

pip install pypi-seed

使用python种子项目

通常我们会通过库的主页查看使用说明,pypi-seed的项目地址为:pypi.org/project/pyp…

不用打开,学委直接整理了使用的命令:

ppc --project demo_project --author testuser --dir=/tmp

或者

pypiseed --project demo_project --author testuser --dir=/tmp

两个命令任选一个复制运行,即可快速创建一个python模版项目了!

效果如下:

保姆级教程带你开发优质的Python库之下篇【种子项目】

总结

整个过程挺简单的,主要为制作whl包,发布到pypi。

接下来可以继续使用ppc(pypiseed)创建标准的python项目,继续开发了。

喜欢Python的朋友,请关注学习 Python基础专栏 or Python入门到精通大专栏

持续学习持续开发,我是雷学委! 编程很有趣,关键是把技术搞透彻讲明白。 创作不易,请关注收藏点赞,或者留下评论打打气!

转载自:https://juejin.cn/post/7020081877633466375
评论
请登录