Python虚拟环境:用venv把项目依赖隔离开,告别“在我电脑上能跑”

举报
yd_258677104 发表于 2026/10/27 09:11:47 2026/10/27
【摘要】 用venv给每个Python项目一个独立的依赖空间:创建、激活、验证、导出requirements,再避开激活失效、误提交.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 版本和安装命令。开始新项目时确认四件事:环境建了吗?激活了吗?解释器选对了吗?依赖导出并提交了吗?把这套流程固定下来,“在我电脑上能跑”的问题就会少很多。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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