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

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

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

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

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

pip install pypi-seed
ppc 

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

image.png

pypi 仓库 - 它就像App商店

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

image.png

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


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


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


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

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


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


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

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


python setup.py bdist_wheel --universal

这是部分运行截图:

image.png

运行结束后,当前项目会多一个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

运行效果如下图:image.png运行过程需要输入pypi网站的用户名和密码。


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


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


第三步 查看发布的库

比如下面的,从pypi截图的。也可以搜索库名字,看看。


image.png

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

image.png

如何获取别人分享的库

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

pip install pypi-seed

使用python种子项目

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

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

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

或者

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

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

效果如下:

image.png

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

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

目录
相关文章
|
1天前
|
机器学习/深度学习 算法 数据挖掘
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
机器学习--K近邻算法,以及python中通过Scikit-learn库实现K近邻算法API使用技巧
|
1天前
|
Linux Python Windows
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
|
1天前
|
Python
使用Seaborn库创建图形的使用案例
【4月更文挑战第29天】该代码段首先导入seaborn和matplotlib库,然后加载名为"titanic"的数据集。接着,它创建一个画布并设定子图大小。通过seaborn的FacetGrid以"Attrition_Flag"为列进行分组,映射数据到网格上,用histplot展示"Customer_Age"的直方图分布。同样,也使用boxplot方法生成"Freq"的箱线图。最后展示所有图形。
8 2
|
4天前
|
数据可视化 数据挖掘 数据处理
statsmodels, Python 统计分析工具库!
statsmodels, Python 统计分析工具库!
20 1
|
4天前
|
机器学习/深度学习 数据挖掘 API
pymc,一个灵活的的 Python 概率编程库!
pymc,一个灵活的的 Python 概率编程库!
12 1
|
4天前
|
JSON 人工智能 算法
pyjwt,一个强大的 Python JWT解析校验库!
pyjwt,一个强大的 Python JWT解析校验库!
12 0
|
4天前
|
人工智能 编解码 数据可视化
moviepy,一个超酷的 Python 视频处理库!
moviepy,一个超酷的 Python 视频处理库!
7 0
|
4天前
|
机器学习/深度学习 人工智能 物联网
hummingbird,一个便于将模型部署到边缘设备的Python库!
hummingbird,一个便于将模型部署到边缘设备的Python库!
14 1
|
4天前
|
机器学习/深度学习 人工智能 物联网
hummingbird,一个非常好用的 Python 库!
hummingbird,一个非常好用的 Python 库!
19 1
|
4天前
|
关系型数据库 数据库连接 数据库
asqlcell,一个超强的 Python 库!
asqlcell,一个超强的 Python 库!
18 7