Python 虚拟环境 venv:从入门到避坑
刚开始学 Python 时,很多人习惯在系统环境里直接 pip install。项目一多就容易打架:A 项目要旧版本,B 项目又要新版本,升级一个,另一个就可能报错。虚拟环境 venv 就是给每个项目准备一个独立的小房间,里面的解释器和第三方包互不干扰,出了问题删掉重建也不心疼。
一、为什么要用 venv
第一,隔离依赖,不同项目可以用不同版本的同一个库。第二,干净可复现,依赖写进 requirements.txt,换电脑也能照单重装。第三,风险可控,试验新库装错了也只影响当前环境,不会污染系统 Python。第四,方便清理,不再需要的环境直接删除文件夹即可。
二、创建、激活与退出
在项目根目录创建环境,名字常用 .venv:
python -m venv .venv
Windows 上用 PowerShell 激活:
.venv\Scripts\Activate.ps1
macOS 和 Linux 上用:
source .venv/bin/activate
激活后命令行前面会出现 (.venv) 提示,此时安装的包都只进当前环境。用完执行 deactivate 退出。
三、最容易踩的五个坑
第一,忘记激活就装包,包会装进系统环境,换环境后找不到。第二,用错解释器,执行前先确认 python 的路径和版本。第三,把 .venv 提交进代码仓库,环境文件夹应当放进 .gitignore,只提交代码和依赖清单。第四,新开终端要重新激活,激活只对当前终端会话有效。第五,虚拟环境只隔离 Python 包,不能替代容器对系统级依赖的隔离。
四、依赖管理好习惯
装好包后及时冻结版本:
pip freeze > requirements.txt
新环境里先创建并激活,再执行 pip install -r requirements.txt。升级单个包时先在虚拟环境里试验,通过测试再更新冻结文件。
五、快速自查清单
创建前确认版本,激活后看提示符和解释器路径,装包后用 pip list 核对,提交前确认 .venv 没有被误提交。把这几步做成习惯,依赖冲突会少很多,项目也更容易交给别人运行。
- 点赞
- 收藏
- 关注作者
评论(0)