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

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

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


相关推荐
一晌小贪欢几秒前
深入理解 Python HTTP 请求:从基础到高级实战指南
开发语言·网络·python·网络协议·http
七牛云行业应用1 分钟前
1M上下文腐烂?实测Opus 4.6 vs GPT-5.3及MoA降本架构源码
人工智能·python·llm·架构设计·gpt-5·claude-opus
Java后端的Ai之路5 小时前
【Python 教程15】-Python和Web
python
冬奇Lab7 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
二十雨辰9 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码9 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
前端摸鱼匠10 小时前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
WangYaolove131410 小时前
基于python的在线水果销售系统(源码+文档)
python·mysql·django·毕业设计·源码
AALoveTouch10 小时前
大麦网协议分析
javascript·python
ZH154558913110 小时前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter