如何查看Conda环境的创建日期?
问题描述
我为图像处理任务创建了四个不同版本的conda virtual environments
(Envs)。每个env包括GDAL
和OpenCV
,以及相关库和依赖项的一些子集。我想将我的图像处理环境列表缩减到最近创建的列表,它将拥有我使用的最完整的库集合。但是我不记得我创建环境的顺序了。
是否可以查看单个环境的创建日期,或者是否可以查看所有Conda环境的创建日期列表?
更新
以下是@Timur Shtalland建议的命令输出
$ 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
解决方案
Condahistory
文件
除了文件/文件夹日期之外,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
相关文章