
Python 的 venv 是标准库自带的轻量级虚拟环境工具,用起来简单,但新手常踩几个典型坑。搞清原理和常见误区,比死记命令更重要。
为什么 venv 创建后 pip 仍是系统版本?
这是最常被忽略的问题:创建虚拟环境后没**激活**,所有命令(包括 pip 和 python)仍走系统路径。
- Windows 下运行:
venv\Scripts\activate.bat(CMD)或venv\Scripts\Activate.ps1(PowerShell,需先执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser) - macOS / Linux 下运行:
source venv/bin/activate - 激活成功后,命令行提示符通常会显示环境名(如
(venv)),此时which python或where python才指向虚拟环境内的解释器
安装包后,IDE(如 PyCharm、VS Code)还是找不到模块?
IDE 默认不自动识别新创建的虚拟环境,尤其在项目已打开时。
- PyCharm:进入 File → Settings → Project → Python Interpreter,点击右上角齿轮 → Add… → Existing environment,然后选中
venv/bin/python(macOS/Linux)或venv\Scripts\python.exe(Windows) - VS Code:按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入 Python: Select Interpreter,从列表中选择你的venv路径下的python - 确认后重启终端或重新加载窗口,再运行代码才真正使用虚拟环境中的包
venv 和系统 Python 版本不一致?
venv 默认复用当前终端中 python 命令对应的解释器版本。如果你装了多个 Python(如 3.9、3.11、3.12),必须显式指定:
在线证件照系统是一套完善的冲印行业解决方案,致力于解决用户线上拍摄证件照,拍摄最美最标准证件照的使命。证件照免费版功能:后台统计:当天制作、当天新增、支持规格、近7日统计规格列表:筛选查看、编辑用户列表:筛选查看常见问题:筛选查看、新增、编辑、删除小程序设置:应用设置、流量主设置小程序跳转:筛选查看、新增、编辑、删除关注公众号:引导设置系统要求:系统:Linux系统(centos x64)运行环境
立即学习“Python免费学习笔记(深入)”;
- 创建时指定解释器:
python3.11 -m venv myenv(Linux/macOS)或py -3.11 -m venv myenv(Windows) - 检查目标解释器是否存在:
python3.11 --version或py -3.11 --version - 注意:不能用
venv创建低于宿主 Python 版本的环境(比如用 3.12 创建 3.8 环境),它只是“复制”而非“降级”
删掉 venv 文件夹就彻底清理干净了?
是的——venv 不写注册表、不改系统配置、不依赖全局状态。删除整个文件夹即完全卸载该环境。
- 推荐做法:
rm -rf venv(macOS/Linux)或rmdir /s venv(Windows CMD) - 无需运行
pip uninstall,因为包只存在于该目录内 - 但要注意:如果在环境中生成了外部文件(如
requirements.txt、数据库文件、缓存),这些不会被自动删除,需手动清理
理解这四点,基本覆盖日常开发中最容易卡住的环节。核心就一条:虚拟环境 ≠ 自动生效,激活才是关键动作。









