突然想知道类似django-admin、you-get这种不用Python执行的自定义命令怎么实现的的,查了一下setuptools打包时配置一下entry_points可以实现。

工程结构

setup.py代码:

#setup.pyfrom setuptools import setupsetup(name = "setuptoolsdemo",version = "1.0.0",author = "wangjinyur",author_email = "wangjinyuxxx@gmail.com",description = ("An demonstration of setuptools-demo."),url = "http://www.baidu.com",packages=['src'],entry_points={'console_scripts': ['setup-func=src.appdemo:hello_setuptools'],}
)

setup-func就是我配置的自定义命令,打包完成后直接在shell中执行 setup-func,就相当于执行appdemo模块下的hello_setuptoolsh函数。

appdemo.py代码:

def hello_setuptools():print('hello_setuptools')

执行下面命令:

python setup.py bdist_wheel

生成一堆文件:

再执行:

pip install dist/setuptoolsdemo-1.0.0-py3-none-any.whl

将自定义的setuptoolsdemo包安装到Python环境中

ipython中导入执行一下,注意导入的是src,而不是包名setuptoolsdemo

In[2]: from src.appdemo import hello_setuptools
In[3]: hello_setuptools()
hello_setuptools

shell中执行一下setup-func命令:

(python3.7.3) ➜  setup-func
hello_setuptools

可以看到成功打印出了 hello_setuptools。

参考:https://juejin.im/post/5d46eb4bf265da03ef79f7e3

官方文档太长了吧。。。

python 自定义命令(entry_points)以及开发第三方库setuptools打包相关推荐

  1. python eel 无边框_荐帮你解剖Python的一个轻量级桌面GUI开发第三方库:Eel,让它体无完肤...

    一.Eel介绍 Eel是一个轻量的python桌面GUI开发第三方库. Eel实际上是启动了一个本地的web服务器, 它允许你将python的函数暴露给javascript, 所以网页端也能调用pyt ...

  2. python eel 多线程_Python的一个轻量级桌面GUI开发第三方库:Eel

    1 环境: ====== 1.1 Python3.8,谷歌浏览器,微软vscode编辑器. 1.2 Eel库的介绍,安装,相关地址,对官方的文档进行解读,文件结构,简单使用和注意事项. 1.3 亲测, ...

  3. 帮你解剖Python的一个轻量级桌面GUI开发第三方库:Eel,让它体无完肤

    Python的一个轻量级桌面GUI开发第三方库:Eel 一.Eel介绍 二.资源库eel的安装 三.文件结构和简单的hello介绍 3.1 文件结构 3.2 代码:hello1.py 3.3 main ...

  4. Python在指定环境下安装第三方库的报错解决办法

    Python在指定环境下安装第三方库的报错解决办法 在python安装第三方库时,如果直接打开cmd命令提示符,并输入下列安装命令,则会默认安装在base环境下 但base环境下的包新建的虚拟环境是无 ...

  5. C++软件开发第三方库大全

    C++软件开发第三方库大全.boost 这个使用的人多不多说了 2.pthread windows下的posix线程实现 3.libcurl 一个有名的开源网络爬虫库 阿里旺旺中使用到了 4.libe ...

  6. python web开发第三方库_Python Web开发中常用的第三方库

    Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...

  7. python web开发第三方库_以下属于Python中Web开发框架第三方库的是__________

    以下属于Python中Web开发框架第三方库的是__________ 答:Django 关于为何要敬业乐群,下列说法错误的是?() 答:敬业乐群可以作为提升我们学习.工作的效率和成果,乃至提升我们生命 ...

  8. iOS 开发第三方库全集

    下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableVie ...

  9. pip安装更新、第三方库对应的python解释器版本、pip安装第三方库,压缩包离线安装,pycharm快捷安装及pycharm中terminal的使用,timeout超时报错

    文章有点长,但是很详细,还望大家耐心看 之前在安装python的文章中已经给大家配置了pip环境变量(不了解的点这里去看看),这里就能直接在cmd窗口,不用切换路径,就能使用pip了. 首先 使用pi ...

最新文章

  1. 解决WPF中重载Window.OnRender函数失效问题
  2. 砝码问题之一(回头发现貌似多重背包)
  3. STM32外设驱动---SysTick精准延时
  4. 前松鼠拼拼产品总监吴天:做一个接地气的产品经理
  5. 二叉树的锯齿形层序遍历Python解法
  6. phpStorm注册码
  7. MySQL 获取系统时间/系统日期/日期时间的函数
  8. 10 Ways To Suck At Programming
  9. js将时间转换为时间戳
  10. java私有的构造函数_Java 私有构造函数的使用
  11. python实现图像 webp格式转换为jpg,bmp,tif,png等格式(已验证)
  12. Matlab中将横纵坐标改为自定义标签(set(gca,xtick)set(gca,xticklabel))
  13. lfs linux 教程,用LFS从零开始构建完整Linux系统
  14. 手机删除文件还有救,5个不错的Android数据恢复软件
  15. Deep Attention Network:基于深层注意力网络的高光谱与多光谱图像融合
  16. 人工智能 | ShowMeAI资讯日报 #2022.06.24
  17. [daily][mathematica][fcitx] mathematica 无法输入中文的问题
  18. docker实现MySQL主主互备(主主双机热备)
  19. 特征选择,熵,条件熵,信息增益
  20. sca java_SCA客户端以及基于Java的模型实现(一)

热门文章

  1. 00后程序员都开始学习并精通使用SpringCloudRibbon了,你真会吗
  2. 医疗专业计算机考试题库,计算机专业考试题库(附答案)
  3. 东芝L600-25R,WIN7系统总是崩溃
  4. 各大浏览器内核和前缀
  5. Java第一阶段筑基期修炼法则(拜山帖)
  6. detectron2使用教程20200824_3
  7. PMP准考证什么时候下载
  8. Python爬取新闻动态评论
  9. HyperBDR云容灾深度解析三:适配上云下云跨云多场景
  10. 优雅退出_如何优雅地退出技术工作