本地多Python版本管理及指定版本创建虚拟环境问题咨询
多版本Python管理与指定版本创建虚拟环境问题
问题背景
本地已安装Python 3.11.4和Python 3.12(最新版),仅将Python 3.12加入系统PATH环境变量(安装3.11.4时未勾选「Add Python 3.11 to PATH」)。因部分项目需用Python 3.11创建虚拟环境,尝试在CMD执行以下命令均报错:
python3 -m venv --python=C:\Python\Python311 MyVenv
python3.11 -m venv MyVenv
错误提示:
Python was not found; run without arguments to install from the Microsoft Store,
or disable this shortcut from Settings > Manage App Execution Aliases.
而使用Python 3.12创建虚拟环境可成功执行,现咨询两个问题:
- 如何在本地计算机中管理多版本Python?
- 如何在多版本Python环境中使用指定版本创建虚拟环境?
解答
1. 本地多版本Python管理方案
方案一:手动配置PATH(无需额外工具)
- 找到对应Python版本的安装目录(比如Python 3.11.4默认路径是
C:\Python\Python311,Python 3.12是C:\Python\Python312) - 打开「编辑系统环境变量」→「环境变量」→ 在「系统变量」里找到
Path,点击编辑 - 按需添加对应Python版本的安装目录,以及其下的
Scripts子目录(比如C:\Python\Python311和C:\Python\Python311\Scripts) - 注意:如果需要临时切换版本,可以调整Path里各Python路径的顺序——排在前面的版本会被优先调用
方案二:使用版本管理工具(更便捷)
- pyenv-win:Windows平台的Python版本管理器,可一键安装、切换不同Python版本,自动处理PATH配置
- 安装后,可通过
pyenv install 3.11.4安装指定版本,pyenv global 3.11.4设置全局默认版本,pyenv local 3.12为当前目录设置专属版本
- 安装后,可通过
- conda:如果常用数据科学类库,Anaconda/Miniconda自带环境管理功能,可创建独立的Python环境,每个环境可指定不同Python版本
2. 指定版本创建虚拟环境的方法
方法一:直接调用对应Python的完整路径
因为Python 3.11不在PATH里,CMD找不到python3.11命令,所以直接用完整路径调用:
C:\Python\Python311\python.exe -m venv MyVenv
创建完成后,激活虚拟环境:
MyVenv\Scripts\activate.bat
激活后,当前终端里的python和pip都会指向Python 3.11版本
方法二:先将Python 3.11加入临时PATH
在当前CMD窗口中执行以下命令,临时把Python 3.11的路径加入PATH:
set PATH=C:\Python\Python311;C:\Python\Python311\Scripts;%PATH%
之后就可以用python -m venv MyVenv或者python3.11 -m venv MyVenv来创建虚拟环境
方法三:用pyenv-win管理时创建虚拟环境
如果用了pyenv-win,先切换到目标版本:
pyenv local 3.11.4
然后直接创建虚拟环境:
python -m venv MyVenv
内容的提问来源于stack exchange,提问作者sonny
相关产品推荐
相关产品推荐

