Miniconda安装Tensorflow、PyTorch后包重复占用空间是否属于正常现象?
关于Miniconda双路径存储深度学习包的问题解答
这是Conda的默认设计,属于完全正常的现象,不是操作错误。
双路径存储的原因
- Miniconda根目录下的
pkgs是Conda的全局包缓存目录:所有通过Conda安装的包,都会先下载到该目录做统一缓存。后续如果其他虚拟环境需要安装同版本的同款包,不需要重复下载,直接复用缓存内容,可以节省下载时间和带宽成本。 - 对应虚拟环境下
site-packages内的文件是环境运行时的实际调用路径:默认状态下,Conda会通过硬链接的方式将pkgs目录内的文件关联到对应虚拟环境的目录下。如果你的Miniconda安装目录和虚拟环境存储目录在同一个磁盘分区,这些硬链接不会重复占用物理磁盘空间。
占用空间显示异常说明
你通过WinDirStat统计到的20GB占用属于重复统计的结果:WinDirStat统计文件大小时会把硬链接指向的文件大小重复计算,实际物理磁盘占用量会远低于统计值,你可以通过Windows磁盘属性页的「已用空间」数值查看真实占用情况。
只有当你的Miniconda安装目录和虚拟环境存储目录处于不同磁盘分区时,Conda才会将包文件实际复制两份,产生双倍的空间占用。
可选的空间清理方案
如果不需要保留包缓存,可以通过Conda自带的命令清理,不要手动删除pkgs目录内的文件,避免破坏现有虚拟环境:
- 执行
conda clean -p:仅清理没有被任何现有虚拟环境使用的冗余缓存包,不会影响现有环境的正常运行 - 执行
conda clean -a:清理所有包缓存、索引缓存等临时文件,后续安装同版本包时需要重新下载
内容的提问来源于stack exchange,提问作者Lindoni12
相关产品推荐
相关产品推荐

