一、确认当前激活环境的 Python 版本(核心推荐)
适用于验证 Anaconda 虚拟环境(如 env1)的 Python 版本,确保运行代码时使用指定版本(如 3.8.20)。
操作步骤(系统默认 CMD 终端)
1、若 CMD 未识别conda命令,
'conda' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
先初始化(仅需执行 1 次):
# 替换为你的Anaconda安装路径(如D:\appc\Anaconda3)
D:\appc\Anaconda3\Scripts\conda.exe init cmd.exe
执行后会提示==> For changes to take effect, close and re-open your current shell. <==,需关闭所有 CMD 终端,重新打开使配置生效。
2、激活目标环境并查询版本:
# 1. 激活env1环境(关键,确保查的是3.8版本)
conda activate env1
# 2. 执行版本查询命令(3种方式任选)
python --version # 简洁版,输出如:Python 3.8.20
python -V # 同上,简写形式
python -VV # 详细版,含编译信息(如:Python 3.8.20 (default, Sep 6 2024, 18:57:00) [MSC v.1929 64 bit (AMD64)])
关键说明
conda init cmd.exe本质:修改 CMD 启动配置文件,终端每次启动时自动将 Anaconda 路径加入临时 PATH,仅影响当前终端,不污染系统全局环境;- 手动修改系统环境变量(将 Anaconda 的 Scripts 路径加入 PATH)可实现 "全局识别 conda 命令",但可能导致 Python 版本混乱,非必要不推荐;
- 若已手动改环境变量,无需执行
conda init;若已执行conda init,无需改环境变量,二者效果等价; - 若需 "全局识别 conda + 保留虚拟环境隔离":先手动将 Anaconda 的 Scripts 路径加入系统 PATH,再执行
conda init cmd.exe。
二、确认系统所有 Python 版本
适用于排查系统中已安装的所有 Python 路径,区分 "有效解释器" 和 "占位符"。
操作命令(Windows)
# Windows
where python # 列出所有python.exe的路径+版本关联
# Linux/Mac
which -a python # 列出所有Python可执行文件路径
常见结果说明
-
仅输出
C:\Users\hou\AppData\Local\Microsoft\WindowsApps\python.exe:此路径是微软商店 Python 安装占位符,非真实解释器(执行会跳转应用商店); -
未显示 Anaconda 的 Python 路径:因 Anaconda 未加入系统 PATH,且未激活虚拟环境(
where仅搜索 PATH 中的可执行文件); -
精准定位 Anaconda 的 Python(兜底方案):无需改 PATH,直接递归搜索指定目录:
替换为你的Anaconda/env1路径
where /r D:\appc\Anaconda3\envs\env1 python.exe
所以最好是自己知道自己的环境名称,使用第一种方法。
三、Anaconda 环境专属确认
适用于通过 Anaconda 工具直接查询环境信息,无需激活环境。
# 1. 列出所有conda环境(含路径+激活状态)
conda info --envs
# 示例输出:
# base D:\appc\Anaconda3
# env1 D:\appc\Anaconda3\envs\env1 # 目标环境
# 2. 查看env1的Python版本(Windows用findstr过滤)
conda list -n env1 | findstr python
# 示例输出:python 3.8.20 h1aa4202_0
# Linux/Mac系统替换为:
# conda list -n env1 | grep python
四、MATLAB 中确认关联的 Python 版本
适用于验证 MATLAB 调用的 Python 版本是否为目标版本(如 env1 的 3.8.20)。
% 方法1:基础版本
pyversion % 直接输出关联的Python版本(如3.8)
% 方法2:详细信息(路径+版本)
py_info = pyversion;
disp('关联的Python路径:');
disp(py_info.Executable); % 输出:E:\anaconda3\envs\env1\python.exe
disp('关联的Python版本:');
disp(py_info.Version); % 输出:3.8.20
注意事项
- MATLAB 中
pyversion需在 "未加载 Python 解释器前" 执行,若提示 "Python 已加载,无法更改版本",需重启 MATLAB 后优先执行pyversion; - 确保 MATLAB 关联的 Python 路径指向 Anaconda/env1 的 python.exe,避免调用系统默认版本。