首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除Conda环境不会释放磁盘空间

删除Conda环境不会释放磁盘空间
EN

Stack Overflow用户
提问于 2020-09-20 01:47:35
回答 1查看 480关注 0票数 3

我在一个Conda环境中安装了一堆包,包括带有NVIDIA工具包的docker容器和其他一些非python库。安装占用了大约10 GB的磁盘空间。但是当我删除Conda环境时,磁盘空间没有返回(没有释放)。删除环境不应该导致删除在该环境中创建的所有文件吗?

一些安装在环境中的东西是使用pip、apt-get install、apt-add repository等进行安装的。

在Conda环境中安装软件包时,命令行以(my_environment)为前缀。

Conda环境是使用以下命令在Ubuntu18.04上创建的: conda create -n my_environment

环境由: conda activate my_environment激活

环境已被删除: conda remove --name my_environment --all

怎么一回事?

EN

回答 1

Stack Overflow用户

发布于 2020-10-01 12:18:51

Conda包缓存

Conda的工作方式是首先将包下载到包缓存(请查看conda config --show pkgs_dirs),然后通过从包缓存中的文件/文件夹复制或硬链接到包缓存中的文件/文件夹来将包“安装”到特定环境。此过程有助于最小化跨多个env的包的冗余。也就是说,当env使用相同的包版本(内部版本)时,它允许env共享包的单个物理副本。

考虑到这一点,答案是no,你正在经历预期的行为。删除一个环境主要只是删除硬链接,而不是删除包缓存中的文件。要实现后者,需要另外使用

代码语言:javascript
运行
复制
# read warning below before running this
conda clean --tarballs --packages

这将清除任何临时tarball和任何未硬链接到任何环境的包。

警告:注意标志描述

代码语言:javascript
运行
复制
 -p, --packages        Remove unused packages from writable package caches.
                       WARNING: This does not check for packages installed
                       using symlinks back to the package cache.

该警告不适用于大多数用户(例如,默认配置为allow_softlinks: False),但一些用户可能正在使用符号链接(软链接)来最小化设置中的冗余,其中软件包缓存位于不同的物理磁盘上,而不是创建环境的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63971713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档