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

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

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


相关推荐
用户7783366132115 小时前
用 React Hook 封装搜索数据:useSerp 的防抖、缓存与错误处理
python·api
65岁退休Coder9 小时前
LangGraph v1.2.9 节点容错策略 & 流式输出 & 持久化记忆管理
后端·python·langchain
ikun_文12 小时前
Django框架路由Router的使用
python·pycharm·django
IvanCodes12 小时前
Python 基础语法(二):字符串与常用操作
python
昭昭日月明12 小时前
LangChain 生态:从链到代理,开发者需要掌握的三大核心
python·langchain·agent
Csvn12 小时前
🐍 Day 8:面向对象编程
后端·python
程序员天天困12 小时前
向量检索不准怎么办:混合检索与 Rerank 重排序召回优化实战
后端·python·ai编程
alphaTao13 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
草莓熊Lotso13 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
苏灿烤鱼14 小时前
当 AI Agent 遇见真实科学环境:深度拆解 Scientific Agent Skills,把"聊天机器人"变成"AI 科学家"
python·开源·agent