我为图像处理任务创建了四个不同版本的conda virtual environments
(envs)。每个env都包含GDAL
和OpenCV
,以及相关库和依赖项的一些子集。我想把我的图像处理环境列表减少到最近创建的一个,它将拥有我使用的最完整的库集合。但我不记得我创建env的顺序了。
有没有办法查看单个envs的创建日期,或者所有conda envs的创建日期列表?
更新
下面是@Timur Shtatland建议的命令输出
$ conda env list -v -v -v | grep -v '^#' | perl -lane 'print $F[-1]' | xargs ls -lrt1d
$ miniconda3/envs/opencv2_imgproc
$ miniconda3/envs/GDAL_OSGEO_env
发布于 2021-09-08 21:30:17
Conda history
文件
除了文件/文件夹日期之外,Conda还在conda-meta/history
文件中记录了相对于每个环境文件夹的所有环境更改的历史记录,因此也可以参考。所有条目都以日期戳(==> YYYY-MM-DD HH:MM:SS <==
)开头,因此假设第一个条目对应于环境创建,可以这样做
#!/bin/bash
for env_hist in path/to/envs/*/conda-meta/history; do
env_prefix=$(dirname $(dirname $env_hist))
echo "$(head -n1 $env_hist) $env_prefix"
done | sort
打印像这样的内容
==> 2020-09-28 16:12:49 <== path/to/envs/pymc39
==> 2020-11-08 18:15:26 <== path/to/envs/bioc_3_12
==> 2020-11-22 17:19:08 <== path/to/envs/snakemake_5_29
==> 2021-01-23 00:08:33 <== path/to/envs/pymc3_11
==> 2021-01-23 00:12:53 <== path/to/envs/jupyter
==> 2021-03-09 22:50:38 <== path/to/envs/multiqc
==> 2021-03-24 13:20:07 <== path/to/envs/grayskull
==> 2021-04-05 23:40:01 <== path/to/envs/snakemake_6_1
发布于 2021-09-08 20:34:38
使用conda env list
打印conda环境和env路径的列表。紧随其后的是ls -lrt1d <env paths>
,它打印按时间排序的路径:
conda env list
# conda environments:
#
# base * /Users/user_name/miniconda3
# ...
# bioperl /Users/user_name/miniconda3/envs/bioperl
# biopython /Users/user_name/miniconda3/envs/biopython
# ...
ls -lrt1d env_paths
# Example:
# ls -lrt1d /Users/user_name/miniconda3/envs/bio*
把所有这些放在一起:
conda env list | grep -v '^#' | perl -lane 'print $F[-1]' | xargs ls -lrt1d
https://stackoverflow.com/questions/69109316
复制相似问题