conda create创建虚拟环境必须指定python版本并慎选路径:用--prefix可自定义路径(如d:\projects\ml-env),但路径禁含空格或中文;用-n则默认存于envs目录,激活时直接写环境名。

conda create 是创建新虚拟环境的核心命令,但直接敲它容易出错——路径、命名、Python 版本、是否指定位置,每一步都影响后续使用。
用 --prefix 指定任意路径创建环境(最灵活)
默认用 -n 创建的环境会落在 envs/ 子目录下(如 C:\Users\name\Miniconda3\envs\myenv),但你可能想放在 D 盘、项目目录里,或避开系统盘。这时必须用 --prefix:
-
conda create --prefix D:\projects\ml-env python=3.10—— 路径中不能有空格或中文,否则激活失败 - 激活时也必须写全路径:
conda activate D:\projects\ml-env,不能简写为conda activate ml-env - 路径末尾不要加斜杠,
D:\projects\ml-env\会导致CondaEnvironmentNotFoundError - 该路径下不需要提前建文件夹,conda 会自动创建
用 -n 创建命名环境(适合快速测试)
如果你只是临时验证某个包,或者环境只在本机用、不打算迁移,-n 更简洁:
Miniconda py314_26.5.3-2 Linux x86_64 安装脚本,来自 Anaconda 官方 Miniconda 下载目录,适合服务器、工作站和容器环境配置轻量 Conda 与 Python。
-
conda create -n py312-test python=3.12—— 名称里避免点号(.)、连字符(-)开头,Windows 下某些 shell 会解析异常 - 激活只需:
conda activate py312-test - 这类环境实际存储位置是
Miniconda3\envs\py312-test,可被conda env list列出 - 注意:
conda activate后如果提示“CommandNotFoundError”,说明 conda 未初始化,需先运行conda init cmd.exe(Windows)或conda init bash(Linux/macOS)
创建时必须指定 Python 版本,否则可能继承 base 环境版本
不写 python= 参数,conda 会默认用当前 base 环境的 Python 版本。这看似省事,但极易导致意外:
- base 是 Python 3.9,你新建环境却没指定版本 → 新环境也是 3.9,但你想跑 PyTorch 2.3(要求 ≥3.10)就直接失败
- 不同项目对 Python 小版本敏感(比如
typing.TypedDict在 3.11+ 才支持 runtime 检查) - 建议始终显式声明:
python=3.10、python=3.11,哪怕和 base 一样,也增强可读性和可复现性 - 版本号写全更稳妥,
python=3.10.12比python=3.10更能锁定行为(conda 会找最接近的可用构建)
创建后立即验证,别等用的时候才发现问题
环境创建完成不等于能用。常见“假成功”现象:命令返回 done,但 conda activate 后 python --version 还是旧版本,或 import torch 报错。
- 激活后立刻执行:
python --version和which python(Linux/macOS)或where python(Windows),确认路径指向新环境的python.exe - 检查
conda list是否包含你期望的 Python 包(比如pip、setuptools),缺失说明安装中途被中断 - 若激活后命令行前缀没变(仍显示
(base)),说明 shell 未重载配置,关掉终端重开,或手动运行source ~/.bashrc(Linux/macOS) - Windows 用户特别注意:PowerShell 默认禁用脚本执行策略,
conda activate可能静默失败,改用 Anaconda Prompt 或运行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser










