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

雷学委 2021-10-26 04:09:43
教程 开发 带你 优质 保姆

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

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

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

pip install pypi-seed
ppc

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

在这里插入图片描述

pypi 仓库 - 它就像App商店

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

在这里插入图片描述

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

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

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

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

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

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

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

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

python setup.py bdist_wheel --universal

这是部分运行截图:
在这里插入图片描述
运行结束后,当前项目会多一个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

运行效果如下图:
在这里插入图片描述

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

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

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

第三步 查看发布的库

比如下面的,从pypi截图的。也可以搜索库名字,看看。
在这里插入图片描述

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

在这里插入图片描述

如何获取别人分享的库

比如这个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模版项目了!

效果如下:

在这里插入图片描述

总结

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

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

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

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

版权声明
本文为[雷学委]所创,转载请带上原文链接,感谢
https://levin.blog.csdn.net/article/details/120248990

  1. Python project management and construction, these four tools are enough!
  2. IDE的使用,pycharm引入Python库
  3. In the 120 series columns, you can learn the python beautiful oup4 module, 7000 word blog + climb the ninth workshop network
  4. Django运行xadmin 报错解析 ImportError: cannot import name 'DEFAULT_FORMATS' from 'import_export.admin'
  5. Python程序大学课程写程序
  6. Programme Python Programme d'études collégiales
  7. Python程序大學課程寫程序
  8. Django runxadmin Error resolution importerror: cannot Import name 'default Formats' from 'import _ Export.admin»
  9. Python 函数式编程,看这一篇足够了!
  10. 太棒了!11个好用到起飞的「Python字典」知识点!
  11. 一道Python题目,求解答!
  12. 一道Python題目,求解答!
  13. Un problème Python, s'il vous plaît!
  14. C'est génial! 11 points de connaissance du dictionnaire Python pour le décollage!
  15. Python Functional Programming, This is enough!
  16. 在python中beta分布的问题?
  17. 一个python习题,没有什么头绪,是关于进制的转换和绘制的,想了几天了,不仅仅是2,8,16这种常见的进制转换
  18. Un exercice Python, qui n'a pas beaucoup d'idées, est sur la conversion et le rendu décimaux et a pensé pendant quelques jours, pas seulement 2, 8, 16 cette conversion décimale commune
  19. Un problème avec la distribution bêta en python?
  20. python实现简单的读取excel 内容,报错
  21. L'implémentation Python lit simplement le contenu d'Excel et signale les erreurs
  22. 用Python定义一个函数,接收n个数字,求这些参数数字的和
  23. Définissez une fonction en python, recevez n nombres et additionnez ces nombres de paramètres
  24. 上电Python写文件后,再断电后导致文件内容丢失
  25. 上電Python寫文件後,再斷電後導致文件內容丟失
  26. Une fois que Python est allumé pour écrire des fichiers, le contenu des fichiers est perdu après une panne de courant
  27. python套接字编程报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
  28. 【Python从入门到精通】(二)怎么运行Python呢?有哪些好的开发工具(PyCharm)
  29. 【Python从入门到精通】(二)怎么运行Python呢?有哪些好的开发工具(PyCharm)
  30. Python语法1
  31. 2018年度最受推荐的10本Python书籍(初学者必看)
  32. Les 10 livres Python les plus recommandés en 2018 (obligatoire pour les débutants)
  33. Syntaxe Python 1
  34. Python语法1
  35. 在python 运行celery时候 AttributeError: 'NoneType' object has no attribute 'Redis'错误
  36. Attributeerror: 'nonetype' Object has no attribute 'redis' Error when Celery is running in Python
  37. Syntaxe Python 1
  38. Python celery is a plug-in that focuses on distributed asynchronous task processing and task scheduling!
  39. Python celery is a plug-in that focuses on distributed asynchronous task processing and task scheduling!
  40. 在python,使用scrapy爬虫框架
  41. It's time for everyone to see your blog written in Django (including deployment tutorial video)
  42. Python扩展速记符 要求用for循环,if语句
  43. Python擴展速記符 要求用for循環,if語句
  44. Le sténographe d'extension Python nécessite une boucle pour, si instruction
  45. Python+人工智能就业班v5.0wumi
  46. python编程技术的题目,希望能得到解答
  47. Pandas determines the header row dynamically
  48. 关于#python#的问题:模拟登陆后能获取到cookie,就是cookie一天就过期
  49. pandas为dataframe添加新的数据行(rows)、在dataframe后面纵向添加一行数据(数据为列表list形式)、列有不匹配将会使用NA值进行填补
  50. pandas使用组合条件筛选、过滤数据行
  51. 热烈祝贺1024,求解Python3.10闪退问题
  52. Python基础题练习题库有没呢?
  53. python构建神经网络,正向和反向传播
  54. python爬虫输入数字翻页才成功,用变量代替不成功,为什么?
  55. 【Python 爬虫】 2、HTTP基本原理
  56. 【Python 爬虫】 1、爬虫基础概念
  57. Python中如何用find函数计数?
  58. 一文搞懂Python装饰器
  59. python数据结构之递归
  60. 关于#python#的问题:为什么这个open函数会报错