【Anaconda】 Anaconda 配置虚拟环境和包缓存路径

22 篇文章 15 订阅

安装好anaconda后,默认安装在虚拟环境默认安装在 C盘,本文主要讲解其中的配置。

首先使用 conda info 查看当前的conda配置,如下图所示,本文主要讲解下述四个信息。

在这里插入图片描述

  1. conda version 版本信息
  2. channel URLs 下载网址
  3. package cache 包缓存路径
  4. envs directories 虚拟环境路径

1. conda修改虚拟环境的安装位置

使用 cmd 输入 下述代码,F:\anaconda\envs替换为需要设置的路径即可

 conda config --add envs_dirs F:\anaconda\envs 

注意:有时由于权限的问题,新的虚拟环境还是下载在C盘,
可以进入 .condaarc 文件夹,

在这里插入图片描述
修改为如下配置:

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
envs_dirs:
  - F:\anaconda\envs
pkgs_dirs:
  - F:\anaconda\pkgs
show_channel_urls: true

2. c盘的.conda文件夹

Conda 在 Windows 系统上默认会在用户的主目录下创建一个 .conda 文件夹,用来存储一些临时文件和包的缓存。这个路径是由 Conda 的默认配置决定的,不受你的 Conda 安装位置的影响。

如果你的主目录在 C 盘,那么 .conda 文件夹就会被创建在 C 盘。想要改变这个行为,你可以设置 CONDA_PKGS_DIRS 环境变量来改变包的缓存位置。你可以在命令行中使用以下命令来设置这个环境变量:

setx CONDA_PKGS_DIRS F:\anaconda\pkgs

这个命令会将包的缓存位置设置为 F:\anaconda\pkgs。你需要将 F:\anaconda\pkgs 替换为你希望的路径。请注意,这个命令只会影响以后的操作,已经下载的包不会被移动。

Conda 会将所有环境下载的包都放在一起。这是 Conda 的一个特性,被称为 “package cache”。这样做的好处是可以节省磁盘空间和下载时间。当你在一个环境中安装了一个包后,如果你在另一个环境中也需要这个包,Conda 就不需要再次下载这个包,而是直接从 package cache 中获取。

需要注意的是,虽然所有的包都被存储在一起,但是不同的环境是完全隔离的。每个环境都有自己的 Python 解释器和库,环境之间不会相互影响。

3. package cache 与 pkgs文件夹

package cach 用于指定pkgs文件夹(Anaconda下的pkgs文件夹是“Packages”的缩写)的路径,Anaconda的 pkgs 文件夹是Anaconda环境中用于存储已安装软件包及其依赖项的目录。这个文件夹扮演着至关重要的角色,它包含了以下几个关键特性:

  1. 包缓存:

    pkgs文件夹作为Anaconda的包缓存,保存了通过conda install命令或Anaconda Navigator安装的所有软件包的副本。每当您安装或更新一个包时,Conda会将该包及其依赖项的压缩文件(通常为.tar.bz2格式)下载到此目录,并解压到相应的子目录中。

  2. 版本管理:

    pkgs文件夹按照包名和版本号进行组织,每个包对应一个子目录。这种结构允许Conda在同一环境中安装不同版本的包,以及在多个环境中共享相同的包版本。当创建新的conda环境或者在现有环境中安装软件包时,Conda会优先从pkgs文件夹中复用已有的包,而不是重新下载,从而节省带宽和时间。

  3. 环境隔离与依赖解析:

    虽然实际使用的包文件会被链接到各个conda环境的Lib/site-packages(在Windows上通常是这个路径,对于其他操作系统路径可能略有不同)目录下,但所有环境共享同一个pkgs文件夹,这有助于实现资源的有效利用和环境隔离。Conda通过软链接(符号链接)机制确保每个环境只看到并使用其指定版本的包,即使这些包实际存储在共用的pkgs文件夹内。

  4. 备份与恢复:

    由于pkgs文件夹包含了所有已安装包的完整副本,它在某种程度上起到了备份作用。如果某个环境中的包文件意外损坏,Conda可以从pkgs中重新链接或恢复该包。

  5. 清理与空间管理:

    随着时间和使用频率的增加,pkgs文件夹可能会变得相当大,因为它不仅存储当前环境使用的包,还包括历史安装过程中积累的、可能不再被任何环境引用的包版本。用户可以通过运行conda clean --packages或conda clean --tarballs命令来清理不再需要的包文件或压缩包,以释放磁盘空间。不过,在执行这类清理操作前,应确保没有其他环境依赖于这些可能被删除的包版本。

pkgs文件夹的清理命令:

conda clean --packages 

conda clean --tarballs

此命令来清理Anaconda下pkgs中不再需要的包文件或压缩包,以释放磁盘空间。

参考文章:

https://blog.csdn.net/h965976237/article/details/137165022

https://blog.csdn.net/weixin_38650077/article/details/138332423

https://blog.csdn.net/weixin_45673389/article/details/131472528

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何为xl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值