venv 不管理 python 版本,需先用 pyenv 安装并切换版本(如 3.11.9),再用 python -m venv 基于该版本创建隔离环境,实现多版本与依赖的完全独立。

venv 本身不管理 Python 解释器版本,它只基于你指定的 Python 可执行文件创建隔离的依赖环境。要管理不同版本的解释器,必须先用 pyenv(或其他版本管理工具)安装并切换 Python 版本,再用 venv 基于那个版本创建环境。
先装好多个 Python 版本(用 pyenv)
pyenv 负责下载、安装和切换系统中可用的 Python 解释器,比如 3.9.18、3.11.9、3.12.3 等。
- macOS 用户推荐用 Homebrew:
brew install pyenv - Linux 用户可运行官方安装脚本:
curl -fsSL https://pyenv.run | bash - 安装后配置 shell 配置文件(如
~/.zshrc),加入eval "$(pyenv init - zsh)" - 查看可安装版本:
pyenv install --list | grep "3\.[9-2]" - 安装一个版本:
pyenv install 3.11.9
为项目指定 Python 版本(pyenv local)
进入你的项目目录,设置该目录下默认使用的 Python 版本:
cd /path/to/your/project-
pyenv local 3.11.9→ 会在当前目录生成.python-version文件 - 此时运行
python --version应显示3.11.9 - 这个设置只对当前目录及子目录生效,不影响其他项目
再用 venv 创建对应版本的虚拟环境
确认 Python 版本已切换成功后,用 python -m venv 创建环境,它会自动使用当前 pyenv 指向的解释器:
-
python -m venv .venv(推荐用.venv命名,方便被.gitignore忽略) - 激活:
source .venv/bin/activate(macOS/Linux)或.venv\Scripts\activate.bat(Windows) - 验证:
which python应输出类似/path/to/project/.venv/bin/python,且python --version仍为 3.11.9 - 此时 pip 安装的所有包,都只属于这个 Python 3.11.9 + .venv 的组合环境
需要换版本时,重新走一遍流程
比如另一个项目要用 Python 3.9:
- 进新目录:
cd /path/to/other-project - 设版本:
pyenv local 3.9.18 - 建环境:
python -m venv .venv - 激活使用即可 —— 两个项目的 Python 版本和依赖完全独立
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











