You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在which -a命令中使用正则查找系统所有Python安装?

查找Mac上所有Python安装的问题

参考相关方法后,尝试了以下操作:

命令1

which -a python*

输出1

/opt/homebrew/bin/python3
/usr/local/bin/python3
/usr/bin/python3

命令2

which -a python3.9

输出2

/usr/local/bin/python3.9

结论

  • 输出2的结果未包含在输出1中
  • 因此which -a python*无法覆盖全部Python安装的查找需求

需求

  • 已编写可匹配全部4个Python安装的正则表达式
  • 需将该正则应用到命令中,实现完整查找

解决方案

which本身不支持正则表达式匹配,它仅支持shell的文件名通配符(globbing)。要实现正则匹配查找所有Python相关命令,可结合compgen与grep工具,示例命令如下:

1. 获取所有Python相关命令名

compgen -c | grep -E '^python[0-9.]*$'

2. 获取所有Python命令的完整路径

compgen -c | grep -E '^python[0-9.]*$' | xargs -I {} which -a {}

备选方案:直接搜索常见二进制目录

如果不确定命令所在路径,可直接搜索系统常见的可执行文件目录:

find /usr/bin /usr/local/bin /opt/homebrew/bin -type f -executable -name 'python*' | grep -E 'python[0-9.]*$'

内容的提问来源于stack exchange,提问作者Signor Pizza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 01:07:20