保姆级教程带你开发优质的Python库之中篇【命令行发行】_python 命令行开发指导(3)

现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。

分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

前面学委给大家缕一缕了如何开发一个python库并导入运行, 基本完成了一个初步的库

下面指导大家把库做成命令行工具,别人就能像我们使用python或者pip工具一样,输入命令就能使用我们的库!

读者可以查看学委主页加入交流,或者去GitHub给个Star。

把Python库做成命令行的准备

项目结构如下,首先要让它支持命令行。

在这里插入图片描述

记得前面的项目截图里面还有一个setup.py 文件。

setup.py组织了整个项目模块代码和基础信息,支持命令行的诀窍就在里面。

先看一下代码,大家重点观察一个熟悉:entry_points

# -\*- coding: utf-8 -\*-
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: OpenSource
# @File : setup.py
# @Project : pypi\_seed


from distutils.core import setup
from setuptools import find_packages

setup(name='pypi\_seed',  # 包名
      version='1.0.3',  # 版本号
      keywords=("pypi\_seed", "seed", "generator", "levin", "leixuewei"),
      description='A small tool to demo on upload package to pypi and utility scripts to generate a pypi seed',
      long_description="""A small tool to demo on upload package to pypi and utility scripts to generate a pypi seed!
Powered by py4ever team!""",
      author='levin',
      author_email='790839397@qq.com', #项目联系人
      url='https://github.com/py4ever/pypi\_seed',
      #学委删简了一些,非本文重点的信息
      entry_points={
          'console\_scripts': [
              'pypiseed = pypi\_seed.main:main',
              'pyseed = pypi\_seed.main:main'
          ]
      },
      classifiers=[
          'Intended Audience :: Developers' # 学委删简了一些支持多版本的,需要的去github或者gitee借鉴pypi\_seed的setup.py
      ],
      )

解释一下setup.py

简单理解,这个setup.py 就相当于一个开源模块的地图。

它包括了作者信息,项目说明,版本,项目链接,更重要的,安装后命令行的程序入口就放在“entry_points"

设置了entry_points, 我们使用pip工具安装这个模块的时候,它会自动帮我们创建相应的文件。

比如上面的entry_points是两个命令工具:

  • pypiseed 为命令行工具,对等与调用pypi_seed.main:main
  • pyseed 为命令行工具,对等与调用pypi_seed.main:main
补充说明setup.py其他参数解释

重点是作者,项目名称,联系信息,下面整理解释:

  • name : 项目名称,特别重要!其他开发者通过这个来搜索你的库
  • author : 作者
  • keywords : 项目关键字
  • description : 项目说明
  • author_email : 作者邮箱信息
  • url : 项目主页

这些比较直白,根据开源工具的定位来编写完善。

项目说明如果写不下,就放置在long description字段。万一用户在用的时候有啥反馈,还能够联系到邮箱,或者通过项目主页继续互动,这样能够保持项目的不断完善,与时俱进!

第二步 开发一个命令行处理的Python程序

生成了程序入口了,我们可以通过

pyseed  参数 #调用pypi\_seed了

好了,说完entry_points, 它调用到了pypi_seed.main:main。 学委已经帮大家看了源码了。

pypiseed / pyseed里面调用了一个程序内的show_help 和args2dict 两个方法。

开源项目源码解析

这里是show_help方法,重点是输出打印一些使用信息,和项目简易说明。

def show\_help():
    print('usage:')
    print('-h, --help: print help message.')
    print('-p, --project: your desired project name')
    print('-P, --path: where to save the sample project after code-generation')
    print('-a, --author: the author information')
    print("===========================================")
    show_sample_run()
    show_about()


这里就是本文的核心了,解析用户的输入。

为了解析方便,学委仅摘取了核心代码段,我们看一下。



文末有福利领取哦~
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

👉**一、Python所有方向的学习路线**

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。![img](https://img-blog.csdnimg.cn/c67c0f87cf9343879a1278dfb067f802.png)

👉**二、Python必备开发工具**

![img](https://img-blog.csdnimg.cn/757ca3f717df4825b7d90a11cad93bc7.png)  
👉**三、Python视频合集**

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。  
![img](https://img-blog.csdnimg.cn/31066dd7f1d245159f21623d9efafa68.png)

👉 **四、实战案例**

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。**(文末领读者福利)**  
![img](https://img-blog.csdnimg.cn/e78afb3dcb8e4da3bae5b6ffb9c07ec7.png)

👉**五、Python练习题**

检查学习结果。  
![img](https://img-blog.csdnimg.cn/280da06969e54cf180f4904270636b8e.png)

👉**六、面试资料**

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。  
![img](https://img-blog.csdnimg.cn/a9d7c35e6919437a988883d84dcc5e58.png)

![img](https://img-blog.csdnimg.cn/5db8141418d544d3a8e9da4805b1a3f9.png)

👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值