Python虚拟环境:用venv把项目依赖隔离开,告别“在我电脑上能跑”
很多 Python 问题不是代码错了,而是环境乱了。几个项目共用一个全局环境,一个要旧依赖,一个要新依赖,升级一次,旧项目就可能跑不起来。虚拟环境就是给每个项目一个独立的依赖空间,让它们互不干扰。
为什么要用虚拟环境
一是隔离,项目里装的包只属于这个项目,不会污染系统 Python。二是可复现,别人拿到 requirements.txt,就能装出同一套依赖。三是安全,系统 Python 常被系统工具依赖,随意改动可能影响系统,而虚拟环境把实验限制在项目内部。
venv 三步上手
Python 3.3 起 venv 已是标准库,无需额外安装。先在项目根目录创建环境:python -m venv .venv。再激活它:Windows 执行 .venv\Scripts\activate,macOS 或 Linux 执行 source .venv/bin/activate,成功后命令行前会出现 (.venv)。最后验证:执行 pip list,确认路径指向项目里的 .venv,退出用 deactivate。
依赖这样管
激活后再装包,如 pip install requests。阶段完成后用 pip freeze > requirements.txt 导出依赖并提交。换电脑复现时,先创建并激活新环境,再执行 pip install -r requirements.txt。关键包建议固定主版本号,避免重装时因大版本升级而不兼容。
常见坑
新开终端要重新激活,编辑器也要把解释器选成 .venv 下的 Python,否则仍跑在系统环境里。不要把 .venv 提交进 Git,应在 .gitignore 写上 .venv/。也不要在虚拟环境里用管理员权限装包,以免权限混乱。requirements 只写包名不写版本,下次重装也可能失败。
养成固定流程
一个项目一个环境,目录统一叫 .venv,交接时附上 Python 版本和安装命令。开始新项目时确认四件事:环境建了吗?激活了吗?解释器选对了吗?依赖导出并提交了吗?把这套流程固定下来,“在我电脑上能跑”的问题就会少很多。
- 点赞
- 收藏
- 关注作者
评论(0)