Conda 虚拟环境安装配置路径详解

目录

[1. 背景说明](#1. 背景说明)

[2. 原因分析](#2. 原因分析)

[3. 验证](#3. 验证)

[4. 如何让环境装到 E 盘](#4. 如何让环境装到 E 盘)

[✅ 方案一:显式指定 env 目录](#✅ 方案一:显式指定 env 目录)

[✅ 方案二(推荐长期使用):修改 Conda 配置](#✅ 方案二(推荐长期使用):修改 Conda 配置)

✅方案三(不推荐):手动移动已有环境


1. 背景说明

在本机(windows系统)安装了 Anaconda,安装路径为:E:\Commonly_software\Anaconda3\anaconda3

查看虚拟环境安装路径:

虚拟环境默认安装路径为:C:\Users\oyang\.conda\envs

而非Anaconda的安装路径下:E:\Commonly_software\Anaconda3\anaconda3\envs

2. 原因分析

这是 Conda 的正常行为, 原因和 Conda 的多级 env 目录设计 + Windows 默认用户目录策略 有关。

Conda 本体安装目录(base环境)→ E:\Commonly_software\Anaconda3\anaconda3

新建的虚拟环境被放到了→ C:\Users\oyang\.conda\envs\

根本原因(核心机制)

1️⃣ Conda 并不是只认一个 envs 目录

Conda 内部支持 多个环境存储位置(envs_dirs),优先级如下:

  1. 用户级 env 目录(默认)
bash 复制代码
%USERPROFILE%\.conda\envs

→ 也就是 C:\Users\oyang\.conda\envs

  1. 安装目录下的 envs
bash 复制代码
<conda_root>\envs

E:\Commonly_software\Anaconda3\anaconda3\envs

2️⃣ 为什么优先用 C 盘?

👉 这是 Conda 在 Windows 上的刻意设计

原因有三点:

✅ 原因 1:权限问题(最重要)

  • E:\Commonly_software\Anaconda3\anaconda3

    属于 程序安装目录

  • 在某些环境下(公司电脑 / UAC / 非管理员),

    • Conda 不一定能安全写入
  • 用户目录 C:\Users\oyang\.conda\envs

    • 永远有写权限

👉 为了避免"创建环境失败",Conda 默认把新环境放到用户目录

✅ 原因 2:多 Conda 共用同一批环境

如果你以后:

  • 装 Miniconda

  • 装多个 Anaconda

  • 用 VSCode / PyCharm 调用 Conda

那么:

bash 复制代码
C:\Users\oyang\.conda\envs

✅ 原因 3:官方默认策略(不是 bug)

只要你:

bash 复制代码
conda create -n xxx python=3.x

没有显式指定路径

Conda 就会用:

bash 复制代码
%USERPROFILE%\.conda\envs

3. 验证

运行:

bash 复制代码
conda config --show envs_dirs

大概率会看到类似:

bash 复制代码
envs_dirs:
  - C:\Users\oyang\.conda\envs
  - E:\Commonly_software\Anaconda3\anaconda3\envs

⚠️ 前面的优先级更高

4. 如何让环境装到 E 盘

✅ 方案一:显式指定 env 目录

bash 复制代码
conda create -p E:\Commonly_software\Anaconda3\anaconda3\envs\myenv python=3.10

激活:

bash 复制代码
conda activate E:\Commonly_software\Anaconda3\anaconda3\envs\myenv

✅ 方案二(推荐长期使用):修改 Conda 配置

envs 目录优先级改为 E 盘

bash 复制代码
conda config --set envs_dirs E:\Commonly_software\Anaconda3\anaconda3\envs

再确认:

bash 复制代码
conda config --show envs_dirs

以后:

bash 复制代码
conda create --name test python=3.12

会直接创建在:

bash 复制代码
E:\Commonly_software\Anaconda3\anaconda3\envs\test

✅方案三(不推荐):手动移动已有环境

此方案可能会出现各种问题,需要根据实际情况进行移动。


相关推荐
梦想是成为算法高手2 小时前
带你从入门到精通——知识图谱(一. 知识图谱入门)
人工智能·pytorch·python·深度学习·神经网络·知识图谱
阿也在北京2 小时前
基于Neo4j和TuGraph的知识图谱与问答系统搭建——胡歌的导演演员人际圈
python·阿里云·知识图谱·neo4j
计算机徐师兄2 小时前
Python基于知识图谱的胆囊炎医疗问答系统(附源码,文档说明)
python·知识图谱·胆囊炎医疗问答系统·python胆囊炎医疗问答系统·知识图谱的胆囊炎医疗问答系统·python知识图谱·医疗问答系统
北冥码鲲2 小时前
【保姆级教程】从零入手:Python + Neo4j 构建你的第一个知识图谱
python·知识图谱·neo4j
B站计算机毕业设计超人2 小时前
计算机毕业设计Python+大模型音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 知识图谱 大数据毕业设计
人工智能·hadoop·爬虫·python·数据分析·知识图谱·课程设计
喵手2 小时前
Python爬虫零基础入门【第三章:Requests 静态爬取入门·第5节】限速与礼貌爬取:并发、延迟、频率控制!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·requests静态爬取·限速与爬取
归去来?3 小时前
记录一次从https接口提取25G大文件csv并落表的经历
大数据·数据仓库·hive·python·网络协议·5g·https
喵手3 小时前
Python爬虫零基础入门【第三章:Requests 静态爬取入门·第1节】你的第一个爬虫:抓取页面并保存 HTML!
爬虫·python·爬虫实战·python爬虫工程化实战·requests静态爬取·抓取网页并保存html·零基础入门python爬虫
喵手3 小时前
Python爬虫零基础入门【第三章:Requests 静态爬取入门·第2节】伪装与会话:Headers、Session、Cookie(合规使用)!
爬虫·python·python爬虫实战·python爬虫工程化实战·requests静态爬取·伪装与会话·零基础python爬虫入门