Conda - 获取以特定字母开头的包裹列表

Conda - Get list of package starting with certain letter(s)

如何在 conda 中获取以特定字符开头的包列表?

Conda 列表命令

conda list 命令的表现力足以做到这一点。具体来说,检查命令的用法签名表明它接受正则表达式参数:

$ conda list -h
usage: conda list [-h] [-n ENVIRONMENT | -p PATH] [--json] [-v] [-q]
                  [--show-channel-urls] [-c] [-f] [--explicit] [--md5] [-e]
                  [-r] [--no-pip]
                  [regex]

List linked packages in a conda environment.

Options:

positional arguments:
  regex                 List only packages matching this regular expression.
...

例子

下面是一些使用正则表达式查找以特定字符串开头的包的示例。

以“sci”开头的包

$ conda list '^sci'
# packages in environment at /Users/merv/miniconda3/envs/anaconda_2020_11:
#
# Name                    Version                   Build  Channel
scikit-image              0.17.2           py38h81aa140_0  
scikit-learn              0.23.2           py38h959d312_0  
scipy                     1.5.2            py38h2515648_0  

以“num”或“sci”开头的包

$ conda list '^(sci|num)'
# packages in environment at /Users/merv/miniconda3/envs/anaconda_2020_11:
#
# Name                    Version                   Build  Channel
numba                     0.51.2           py38h6440ff4_1  
numexpr                   2.7.1            py38hce01a72_0  
numpy                     1.19.2           py38h456fd55_0  
numpy-base                1.19.2           py38hcfb5961_0  
numpydoc                  1.1.0              pyhd3eb1b0_1  
scikit-image              0.17.2           py38h81aa140_0  
scikit-learn              0.23.2           py38h959d312_0  
scipy                     1.5.2            py38h2515648_0

这应该优于使用 grep,因为它将保留 conda list 输出的 header。