Python 新手避坑:用 venv 给每个项目配一套独立依赖

举报
yd_294877891 发表于 2026/10/25 06:13:31 2026/10/25
【摘要】 刚学 Python 时,很多人会在一台电脑上装一堆库:A 项目要 requests 2.x,B 项目的教程却要求 requests 1.x;装新库时一不小心升级了旧库,昨天还能跑的代码今天就报错了。其实问题不在代码,而在依赖都挤在同一个全局环境里。Python 自带的 venv 就是解决办法:给每个项目建一个独立的小环境,互不干扰。第一步,创建虚拟环境。进入项目文件夹后运行:python -...

刚学 Python 时,很多人会在一台电脑上装一堆库:A 项目要 requests 2.x,B 项目的教程却要求 requests 1.x;装新库时一不小心升级了旧库,昨天还能跑的代码今天就报错了。其实问题不在代码,而在依赖都挤在同一个全局环境里。Python 自带的 venv 就是解决办法:给每个项目建一个独立的小环境,互不干扰。


第一步,创建虚拟环境。进入项目文件夹后运行:python -m venv .venv。这会在项目里生成一个 .venv 文件夹,里面是一套独立的 Python 解释器和 pip。注意把 .venv 加进 .gitignore,不要把它提交到代码仓库——它体积大、且和操作系统绑定,换台电脑要重新建。


第二步,激活它。Windows 上是 .venv\Scripts\activate,macOS 和 Linux 上是 source .venv/bin/activate。激活成功后,命令行前面会出现 (.venv) 标记,这时再用 pip install 装库,装的都只进这个项目的小环境,不会动全局环境。退出用 deactivate。很多人踩的坑就是忘了激活:pip 装完却发现 import 报错,一查才发现装到了全局环境。


第三步,锁定依赖,方便复现。项目能跑通后运行 pip freeze > requirements.txt,把当前环境的库和版本号记下来。换电脑或给同事交接时,只要新建 venv、激活、再 pip install -r requirements.txt,就能还原出一模一样的环境。不要直接把 requirements.txt 里所有包都升级一遍再提交,那等于放弃了锁定带来的稳定性。


再分享三个小习惯:第一,一个项目一个 venv,哪怕是练手小项目也养成习惯,成本只是一条命令;第二,定期清理不再用的环境,.venv 文件夹删了就能重建,不用心疼;第三,遇到奇怪的报错先问自己一句:我现在激活的是哪个环境?用 which python(Windows 用 where python)确认一下解释器路径,很多“玄学报错”到这一步就现形了。


总结:venv 不用装任何第三方工具,建环境、激活、装库、freeze 锁定,四步走下来,项目之间的依赖冲突基本就消失了。先把环境隔离开,再谈写代码,心态会稳很多。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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