Python 虚拟环境 venv 入门:隔离依赖的三步用法

举报
yd_229195605 发表于 2026/11/12 08:48:51 2026/11/12
【摘要】 刚学 Python 时,很多人都是直接在系统 Python 里 pip install 装包。装得越多,越容易出问题:A 项目要 requests 2.28,B 项目要 2.31;某个包升级后,旧脚本突然跑不起来;换一台电脑复现环境,更是无从下手。这些麻烦的根源只有一个:所有项目共用同一套解释器和同一份 site-packages。venv 是 Python 3.3 起内置的虚拟环境工具,做...

刚学 Python 时,很多人都是直接在系统 Python 里 pip install 装包。装得越多,越容易出问题:A 项目要 requests 2.28,B 项目要 2.31;某个包升级后,旧脚本突然跑不起来;换一台电脑复现环境,更是无从下手。这些麻烦的根源只有一个:所有项目共用同一套解释器和同一份 site-packages。

venv 是 Python 3.3 起内置的虚拟环境工具,做法很朴素:为每个项目复制一份干净的解释器和独立的包目录,项目之间互不干扰,而且不需要安装任何第三方工具。下面分三步讲清楚它的用法。

第一步:创建虚拟环境

在项目根目录执行:

python -m venv .venv

这条命令会在当前目录生成 .venv 文件夹,里面包含一份独立的 Python 解释器和 pip。名字不一定非叫 .venv,用 venv、env 也行,但 .venv 是约定俗成的做法,许多编辑器和工具能自动识别。创建完成后,记得把 .venv 写进 .gitignore,不要提交到代码仓库。

第二步:激活虚拟环境

Windows 上执行 .venv\Scripts\activate,macOS 和 Linux 上执行 source .venv/bin/activate。成功后,命令行前面会出现 (.venv) 前缀,说明当前终端已经切换到虚拟环境。此后 python 和 pip 都指向环境内的解释器,装包只会装进 .venv/lib/python3.x/site-packages。退出时执行 deactivate 即可。

需要注意两点:激活只影响当前终端窗口,新开一个终端要重新激活;VS Code 等编辑器可以在命令面板里选择解释器,效果是一样的。

第三步:安装依赖并固化版本

激活后照常 pip install requests,像平常一样写代码。项目收尾时执行:

pip freeze > requirements.txt

这条命令把当前环境的精确版本写进文件。别人拿到项目后,先创建并激活自己的虚拟环境,再执行 pip install -r requirements.txt,就能得到同一套依赖。这是团队协作里最省事的交接方式。

几个容易踩的坑

第一,不要再用 sudo pip install 往系统 Python 里装包,系统工具可能依赖系统 Python,改坏了很难修。第二,虚拟环境不是容器,它不隔离系统库和网络,只是隔离 Python 包,别指望它解决编译依赖问题。第三,升级 pip 本身也值得做一次,python -m pip install --upgrade pip 能避开不少旧版本安装失败。第四,删除虚拟环境很简单,直接删掉 .venv 文件夹就行,干净无残留。

虚拟环境这件事越早养成习惯越好:一个项目一个环境,依赖有问题先看是不是环境串了,九成混乱都能避免。从今天起,新项目先 python -m venv .venv,再写代码。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。