Python 新手先搞懂一件事:虚拟环境 venv 与 pip 依赖管理入门

举报
yd_299495290 发表于 2026/11/03 06:21:11 2026/11/03
【摘要】 很多 Python 新手都会遇到一个尴尬:同一个项目,在自己电脑上跑得好好的,换一台电脑或者交给同事,就报模块找不到、版本不对。问题往往不在代码本身,而在环境没有管好。虚拟环境 venv 和 pip 依赖管理,就是解决这类问题最基础、也最值得先养成的一套习惯。先说一个关键概念:Python 解释器是共用的,项目却应该是隔离的。如果你把所有项目的依赖都装进系统 Python,A 项目要 req...

很多 Python 新手都会遇到一个尴尬:同一个项目,在自己电脑上跑得好好的,换一台电脑或者交给同事,就报模块找不到、版本不对。问题往往不在代码本身,而在环境没有管好。虚拟环境 venv 和 pip 依赖管理,就是解决这类问题最基础、也最值得先养成的一套习惯。


先说一个关键概念:Python 解释器是共用的,项目却应该是隔离的。如果你把所有项目的依赖都装进系统 Python,A 项目要 requests 2.28,B 项目要 2.32,最后只能留一个版本,迟早互相打架。虚拟环境相当于给每个项目单独准备一个干净的房间,装什么、装哪个版本,都只影响这个项目。


创建和使用并不复杂。在项目目录下执行 python -m venv .venv,就会在当前目录生成一个 .venv 文件夹。接着在 Windows 上用 .venv\Scripts\activate 激活,在 macOS 或 Linux 上用 source .venv/bin/activate 激活。激活后,命令行前面会出现 (.venv) 提示,这时再用 pip 安装的包,就只会装进这个环境。退出时执行 deactivate 即可。


一个新手常犯的错误,是把 .venv 一起提交到代码仓库。其实它只是本地生成的环境,不需要也不应该入库。正确的做法是把依赖清单交出去:开发过程中用 pip install 安装需要的包,完成后执行 pip freeze > requirements.txt,把当前环境的包和版本写进文件。别人拿到项目后,先创建并激活自己的虚拟环境,再执行 pip install -r requirements.txt,就能得到基本一致的依赖。


养成这套流程后,工作方式会变得很清晰:一个项目对应一个虚拟环境,一份 requirements.txt 对应一套可复现的依赖。出了问题,先看是不是激活错了环境,再看依赖版本对不对,最后再怀疑代码。把环境问题和代码问题分开排查,调试效率会高很多。这也是从写能跑的代码,走向写能交给别人跑的代码,很重要的一步。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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