懒人神器 !一个创意十足的 Python 命令行工具 -- trypackage

Python教程:一文了解如何让Python代码变成命令行工具 在构建命令行工具时,解析传入的命令行参数是一个非常重要的环节。Python的 argparse 库就是为此目的而设计的,它可以轻松地处理命令行参数并生成帮助和使用信息。本文将深入剖析 argparse 库的使用方法,并通过多个具体的示例来展示其强大功能。 阅读详情

听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。

有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就会附带装了 n 多依赖库,就比如前一篇文章介绍的 streamlit 来说,依赖包就达 90 几个之多?

比百度全家桶,还 tm 的全家桶啊…

也正是因为害怕会污染我的全局 Python 环境,我通常在试用新包的时候,都会使用 venv 创建虚拟环境,再去安装,完事之后,再清理虚拟环境即可。

有没有发现,整个流程,其实还是挺麻烦的。

刚好昨天晚上,Github 上瞎逛,被我发现一个库,可以解决我一直以来的烦扰。

这个库叫 trypackage,为试库而生的库。

整体的效果可以看下面这张动图

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=%5Bimage.iswbm.com%2FKapture%5D(https%3A%2F%2Flink.juejin.cn%3Ftarget%3Dhttp%253A%252F%252Fimage.iswbm.com%252FKapture%20%22http%3A%2F%2Fimage.iswbm.com%2FKapture%22&pos_id=img-g4Tvc6t6-1695883399334) 2022-01-11 at 00.09.07.gif)

当你使用 try xx 命令时,它会做哪些事呢?

  • 安装指定版本的 Python 解释器
  • 创建临时的虚拟环境
  • 激活虚拟环境
  • 在虚拟环境中安装你要试用的 Python 库
  • 直接进入 Python Shell 模式
  • 自动将你要试用的库导入进来

1. 如何安装

一条命令就可以安装它

shell
复制代码
python3 -m pip install trypackage

可以看到 trypackage 只依赖一个 click 命令行库,还是很轻量的

其实不是这样,try 会基于 virtualenv 创建虚拟环境,因此还要安装 virtualenv 和 virtualenvwrapper

bash
复制代码
python3 -m pip install virtualenv virtualenvwrapper

2. 基本使用

使用 try requests,try 就会创建一个虚拟环境,然后在该虚拟环境中,安装 requests ,安装完成后,自动进入 Python Shell 的模式,并且自动导入好你要试用的包

最贴心的是,试用完后,退出 Python Shell ,会自动清理掉虚拟环境。

3. 更多用法

指定 python 版本

我的环境没有安装 Python 3.8,通过 -p 参数,可以指定 Python 3.8 ,安装的过程太快,快得让我有点怀疑这是不是真正的去安装 Python 3.8 解释器了。

也可以直接指定本地的 Python 版本,例如

bash
复制代码
try requests -p /usr/bin/python3.7.1

指定运行模式

Try 直接的运行模式非常多

1、当你不指定时,默认使用 python shell 的模式

bash
复制代码
# 二者等价
try requests
try requests --shell python

2、使用 ipython 有两种指定方式

bash
复制代码
# 二者等价
try requests --ipython
try requests --shell ipython

3、使用 ptpython 或者 ptipython

这两种模式都有代码提示与自动补全功能

4、使用 bpython 模式

Bpython 的代码提示与补全比 ptpython 、ptipython ,更强一点,其他的区别还没试用到。

在编辑器中打开

bash
复制代码
try requests --editor

指定 Github 仓库包

bash
复制代码
# 语法示例
try <user>/<repo> 

# 安装 Github 上的 Kenneth/requests 上的 master 版本
try kennethreitz/requests  

指定已经存在的虚拟环境

bash
复制代码
try requests --virtualenv ~/.try/sandbox 

持久化虚拟环境

默认情况下,你退出后,会自动清理掉虚拟环境,若有特殊需要,可指定 --keep 参数来持久化虚拟环境

指定虚拟环境的目录

默认情况下,try 会将虚拟环境创建在一个默认的目录中,这个目录比较深,不容易记住,你可以指定 --tmpdir 参数,告诉 try 要将虚拟环境创建在这里,这个参数对于想要持久化虚拟环境的人会很有用。

bash
复制代码
try requests --tmpdir ~/.try

4. 配置文件

try 虽然提供命令行入参的方式来识别用户选项,但对于一些用户来说,更希望能一次性修改 try 的默认选项,而不用每次都指定多个参数。

这时候,可以在你的 APP 目录下新增一个 config.ini 文件,内容模板如下

ini
复制代码
[env]
virtualenv=~/.try/sandbox
python=3.8
shell=ipython
keep=false
always_use_editor=false
tmpdir=~/.try

所谓的 APP 目录,在不同的系统中是不一样的,可以使用如下代码来查看

python
复制代码
>>> import click
>>> click.get_app_dir("try")
'/Users/iswbm/Library/Application Support/try'
>>>

有了 config.ini,再次 try ,就会发现效果与配置一样的预期一致。

5. 总结一下

Try 是一个非常实用的命令行工具,可以说完全击中我的痛点,能把这样一个库做出来,真的是创意十足,再一次印证 Python 是懒人第一语言

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​style=“margin: auto” />

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

Python-q是一个命令行工具允许在CSVTSV上直接执行类似SQL的查询 q 是一个命令行工具,允许在CSV / TSV(以及任何其他表格文本文件)上直接执行类似SQL的查询。 立即下载

相关推荐

学术规范与论文写作(雨课堂)研究生 全部答案

1:如何造就优秀的学术论文 论文语法判断题 :全部是错的 2:如何撰写学术论文 3: SCI论文写作经验分享 4:论文写作与投稿技巧 5:学术伦理道德 答案仅供参考,研究生生活不易,大家如果有时间的话,还是可以学习学习的,毕竟老师讲的不错。加油,希望读研的每一个人都能顺利毕业! ...

Always-Learning 13万+

Python知识点:如何使用Python开发命令行工具

使用 Python 开发命令行工具是一个非常实用的技能,能够简化日常工作流程并自动化常见任务。选择合适的库argparse适合简单工具,click则更加灵活。命令行参数解析:通过定义位置参数和可选参数,让用户可以方便地提供输入。提供帮助和文档:确保工具有完善的帮助信息,通过--help命令展示。打包工具:通过setuptools打包工具,使其可供他人使用。通过这些步骤,你可以轻松开发和发布自己的命令行工具,提高工作效率。

杰哥在此的专栏 1735

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

AutoDL上传数据详细步骤(自己用的步骤,可能没有其他大佬用的那么高级)

孟孟单单的博客 7万+

如何使用Python创建一个命令行实用程序

什么是命令行实用程序?命令行实用程序是一个在命令行上运行的应用程序。它没有图形用户界面(GUI)。它使用命令行界面或CLI来运行和执行自身。如果你想阅读更多关于此的内容,请到维基百科上查看。

u011082575的博客 569

Verilog仿真时读取bin文件模拟输入数据流,将输出数据流写入bin文件

需要关注的是,一般会省略文件起始地址和读取长度,那么mem为多大,就会从文件中读取多大的数据出来填充mem。如果只需要读取一次文件,那么代码到此就结束了,但是如果还需要每一帧都读取该文件转换为数据流,则在循环里判断新的一帧信号是否到来,在新的一帧再次打开一次文件,从头开始读取数据。

qq_41137205的博客 2772

Zephyr RTOS -- 学习笔记总述

文章目录摘要1. 开发基础部分2. 内核服务入门 本笔记基于 Zephyr 版本 2.6.0-rc2 摘要 1. 开发基础部分 2. 内核服务入门 2.1 线程简介 2.2 线程 2.3 工作队列线程 2.4 调度 2.5 中断 2.6 轮询 API 2.7 信号量

思想给了我们太多的自由,而我们拖累了思想...... 4826

Python命令行工具详解

详细讲解了python的命令行工具,包含了optparse、argparse、click、fire库

nfty19的博客 1462

48V电动车电池包拆解:硬核入门BMS硬件设计与故障排查

BMS(电池管理系统)是锂电应用的核心安全与性能保障模块,其本质是融合电化学、模拟电路、嵌入式控制与热管理的交叉系统。理解BMS不能止步于SOC算法或通信协议,而需回归硬件本体——从电压采样精度、MOSFET驱动时序、被动均衡散热设计到NTC热耦合布局,每一处物理实现都直接决定系统可靠性。48V平台因兼具安全性(<60V ELV)、复杂度(13–14串)与产业普及性,成为BMS工程实践的理想标本。本文聚焦真实电池包中的PCB级设计缺陷识别、关键参数现场验证(如±5mV采样误差、5mΩ导通内阻)、UART协议

weixin_29191081的博客 238

用Python打造自己的专属命令行工具

日常使用 Python 脚本时,频繁输入python script_name.py启动程序较为繁琐。本文围绕将 Python 脚本转化为 “真正” 的命令行命令展开,考虑到类 Unix(Linux、macOS)与 Windows 系统的差异,以创建能统计文本文件行数、功能类似wc -l的自定义命令count_lines为例,展示将 Python 脚本变为高效命令行工具的过程,帮助开发者提升脚本使用效率,挖掘 Python 在命令行工具开发中的潜力。

dudly的博客 2701

抖音风控参数逆向实战:从bd-ticket-guard-client-data到x-tt-session-dtrait的完整攻防解析

本文深入解析抖音风控参数逆向实战,重点剖析bd-ticket-guard-client-data和x-tt-session-dtrait的生成机制与破解方法。通过抓包调试、ECDH密钥生成、RSA与AES双层加密等技术手段,揭示抖音风控系统的核心逻辑,并提供实用的对抗策略与维护建议,助力开发者突破抖音风控限制。

weixin_30335575的博客 679

Android 14.0 开机广播接收慢广播延迟问题分析

在14.0的系统rom定制化开发中,在某些时候在接收开机广播的时候发现,过了一分钟才收到开机广播,接下来就需要分析下 开机广播的相关分发机制,来处理下相关问题

安卓兼职framework和app工程师的博客 631

懒人必备神器 !一个创意十足的 Python 命令行工具

Try 是一个非常实用的命令行工具,功能可以说完全击中我的痛点,能把这样一个库做出来,真的是创意十足,再一次印证 Python 是懒人第一语言。。

Trb201013的博客 955

前端开发 - 完美解决video.js和flv.js视频同时播放数量限制的问题,即浏览器针对同一域名的请求限制问题(解决flv.js/video.js在页面播放最多不超过6个问题、浏览器并发请求限制数

flv.js,video.js,vue,reactive,uniapp,前端开发,flv视频同时播放有限制怎么办,浏览器限制多个视频同时播放怎么办,使用flv.js在前端播放,最多只能播放6个视频,突破浏览器域名并发限制,如何解决flvjs与videojs视频播放同时播放数量限制,video.js 一个页面同时播放多个视频的实例代码,解决网页视频最大只能播放6路的问题,浏览器只能播放6路http-flv流的解决方法,一个浏览器播放5个或者6个flv的视频就不能播放了,video.js 无法在页面同时播放多个

✅ 精选推荐文章 4995

懒人必备神器一个创意十足的 Python 命令行工具

当听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。 有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就会附带装了 n 多依赖库,就前一篇文章介绍的 streamlit 来说,依赖包就达 90 几个之多? 比百度全家桶,还 tm 的全家桶啊… 也正是因为害怕会污染我的全局 Python 环境,我通常在试用新包的时候,都会使用 venv 创建虚拟环境,再去安装,完事之后,再清理虚拟环境即可。 有没有发现,整个流程,其实还是挺麻烦的。 刚好昨天晚上,Github 上瞎逛,被我发

Yuki1127918的博客 345

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

懒人神器 !一个创意十足的 Python 命令行工具

作者 | 写代码的明哥来源 | Python编程时光当听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就...

AI科技大本营 392

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

懒人必备神器 ,一个创意十足的 Python 命令行工具

当听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。 有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就会附带装了 n 多依赖库,就前一篇文章介绍的 streamlit 来说,依赖包就达 90 几个之多? 比百度全家桶,还 tm 的全家桶啊… 也正是因为害怕会污染我的全局 Python 环境,我通常在试用新包的时候,都会使用 venv 创建虚拟环境,再去安装,完事之后,再清理虚拟环境即可。 有没有发现,整个流程,其实还是挺麻烦的。 刚好昨天晚上,Github 上.

Python_xiaowu的博客 234

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

懒人必备神器 一个创意十足的 Python 命令行工具

当听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。 有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就会附带装了 n 多依赖库,就前一篇文章介绍的 streamlit 来说,依赖包就达 90 几个之多? 比百度全家桶,还 tm 的全家桶啊… 也正是因为害怕会污染我的全局 Python 环境,我通常在试用新包的时候,都会使用 venv 创建虚拟环境,再去安装,完事之后,再清理虚拟环境即可。 有没有发现,整个流程,其实还是挺麻烦的。 刚好昨天晚上,Github 上.

shunshunss的博客 212

trypackage:一个为试验而生的 Python 工具库

每当听到有人说 xx 库非常好用的时候,总是忍不住想要去亲自试试。 但有一些库,之所以好用,是对一些库做了更高级的封装,你装了这个库,就会附带装了N多依赖库,就拿 streamlit 来说,依赖包就达 90 几个之多? 也正是因为害怕会污染我的 Python 环境,我通常在试用新包的时候,都会使用 venv 创建虚拟环境,再去安装,完事之后,再清理虚拟环境即可。 但这样一来,整个流程,其实还是挺麻烦的。 刚好昨天晚上,Github 上瞎逛,被我发现一个库,可以解决我一直以来的烦扰。 这个库叫 trypack

Python学习与数据挖掘 276

python制作命令行工具集

借助python将一些常用命令进行,工具集的方式集合,而且可以以命令行运行

kiihuang的博客 469

如何用python写一个命令行工具

这个问题由两个步骤组成 一,在自己的Python脚本中,指定脚本的执行器: #!/usr/bin/env python3 这行代码表示,执行当前脚本时,去系统环境变量中找“python3”,然后根据环境变量找到真正的可执行程序 不加这行,我们执行一个Python的方式是: python myPython.py 加上之后可以这样执行: ./myPython.py 中间可能会提示权限受阻,我们可以给文件添加执行权限 chmod a+x myPython.py 如果希望更简洁的话,我们可以去掉

柿子树 2482

Python命令行工具开发之一: 使用基本标准输入编写命令行工具

在实际应用中,经常需要编写自己的命令行工具,来实现一些系统管理的功能。在本系列文章中,将依次介绍通过sys.argv、optparse、argparse模块来创建Python命令行工具,介绍如何整合Shell命令到Python命令行工具中。

Bob Liu的程序人生 3411

用 Plumbum 开发 Python 命令行工具

用 Plumbum 开发 Python 命令行工具 摘要:本文翻译自 Python Plumbum 开源库的官方文档 Plumbum CLI 部分,主要介绍如何使用 Plumbum CLI 工具包来开发 Python 命令行应用程序,这是一个非常 Pythonic、容易使用、功能强大的工具包,非常值得广大 Python 程序员掌握并使用。 译文: 轻松执行程序的另一方面是轻松编写 C...

qhh0205 1558
上一篇: 想学python找不到合适的书籍?它来了!入门python只需要这一本书就够了!
下一篇: 零代码爬虫神器 — Web Scraper 的使用
Llama-Turbo
博客等级 码龄4年 9901粉丝 2024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值