Python 学习笔记:虚拟环境 venv,一次讲清

举报
yd_274683020 发表于 2026/11/03 12:11:25 2026/11/03
【摘要】 用 Python 自带的 venv 给每个项目一个独立环境,讲清创建、激活、装包与退出的四步和常见坑。

学 Python 写到第二个项目时,很多人都会撞上同一个问题:A 项目要某个库的旧版本,B 项目要新版本,装在一起就互相打架。这时候就该请出虚拟环境了——Python 自带的 venv,不用额外装工具,就能给每个项目一个独立的“小房间”。

虚拟环境到底是什么?可以把它理解成给项目单独准备的一套 Python 运行环境:有自己的解释器链接和自己的包目录。在这个房间里装什么库、装哪个版本,都只影响当前项目,不会动到系统全局的 Python。项目之间互不干扰,出了问题删掉重建也不心疼。

用法其实只有四步。第一步,在项目目录里创建:python -m venv venv,这会在当前目录下生成一个 venv 文件夹。第二步,激活它:Linux 或 macOS 下是 source venv/bin/activate,Windows 下是 venv\Scripts\activate,激活成功后命令行前面会多出一个 (venv) 标记。第三步,在激活状态下用 pip 安装项目需要的库,装进来的东西只进这个环境。第四步,做完收工用 deactivate 退出,命令行标记消失,就回到了全局环境。

有几个新手常踩的坑值得先说清楚。第一,venv 文件夹不要提交到代码仓库,里面动辄几百兆,还跟操作系统绑定,换台机器就用不了;正确做法是把依赖记下来,pip freeze > requirements.txt,别人拿到项目后重建环境再 pip install -r requirements.txt 即可。第二,创建虚拟环境时要确认用的是哪个 Python 版本,系统里装了多个版本时,python 可能指向的并不是你以为的那一个,先 python --version 确认一下能省很多麻烦。第三,别在虚拟环境里再用 sudo 装包,一旦提权安装,包就可能装到系统目录去,隔离就白做了。

还有一个常见疑问:每个项目都要建一个吗?对初学者来说,答案是肯定的。养成“一项目一环境”的习惯,成本只是多敲两条命令,换来的却是再也不用为版本冲突翻旧账。等项目多了,还可以用 requirements.txt 给每个环境留一张“配料表”,重建环境就是一条命令的事。

上手建议:今天就拿手头一个小项目练一遍——建环境、激活、装一个库、退出、删掉重建。走完这一圈,虚拟环境就从概念变成了肌肉记忆,后面学 Web 开发、爬虫、数据处理,都会默认站在这个好习惯上。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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