Python 新手入门:先学会用虚拟环境管好依赖

举报
yd_292135771 发表于 2026/11/03 20:41:42 2026/11/03
【摘要】 刚学 Python 时,很多人都会直接在系统环境里装包。开始很省事,时间一长就容易出问题:A 项目要 requests 2.x,B 项目却要 3.x;换一台电脑又得重新回忆装过什么;甚至一不小心升级了某个包,正在跑的脚本就报错了。虚拟环境就是为了解决这些麻烦,它给每个项目单独准备一套 Python 解释器和依赖,互不干扰。 一句话理解虚拟环境可以把虚拟环境想象成项目专属的工具箱。系统 Pyt...

刚学 Python 时,很多人都会直接在系统环境里装包。开始很省事,时间一长就容易出问题:A 项目要 requests 2.x,B 项目却要 3.x;换一台电脑又得重新回忆装过什么;甚至一不小心升级了某个包,正在跑的脚本就报错了。虚拟环境就是为了解决这些麻烦,它给每个项目单独准备一套 Python 解释器和依赖,互不干扰。

一句话理解虚拟环境

可以把虚拟环境想象成项目专属的工具箱。系统 Python 是公共工具间,所有项目共用;虚拟环境则是在项目目录旁边单独开一个小房间,里面放着这个项目自己的 pip 和第三方库。激活它之后,python 和 pip 指的都是这个房间里的版本;退出之后,一切恢复原样,系统环境不会被污染。

动手做一次

在项目文件夹里执行:

python -m venv .venv

这会在当前目录生成 .venv 文件夹,里面包含解释器和基础工具。接下来激活它。Windows 上是:

.venv\Scripts\activate

macOS 和 Linux 上是:

source .venv/bin/activate

成功后命令行前面会出现 (.venv),表示你已经进入这个环境。此时再安装依赖,例如:

pip install requests

它只会装进 .venv,不会影响系统 Python。工作结束时输入 deactivate 就能退出。

把依赖固定下来

只靠口头记住装过什么是靠不住的。项目稳定后,用下面命令生成依赖清单:

pip freeze > requirements.txt

新环境或新电脑上,只要创建并激活虚拟环境,再执行 pip install -r requirements.txt,就能基本复现同一套依赖。这也是团队协作和部署时最常见的交接方式。记得把 .venv 目录加入 .gitignore,只提交代码和 requirements.txt,不要把整个环境传进仓库。

新手最容易踩的几个坑

第一,创建之后忘记激活,直接在全局装包,结果换个终端又找不到包。第二,在不同终端窗口里混用环境,一个窗口激活了,另一个没有,报错信息看起来莫名其妙。第三,升级 pip 或某个核心库前没有先确认项目是否兼容,导致旧代码突然跑不起来。第四,把项目文件夹整个复制给别人时连 .venv 一起复制,既臃肿又可能因为路径和系统不同而失效。正确做法是只传代码和依赖清单,对方重新创建环境。

虚拟环境和 conda 怎么选

如果只是做纯 Python 项目,标准库自带的 venv 已经够用,轻量、无需额外安装,也最容易讲清楚原理。如果项目涉及科学计算、不同版本的 Python 解释器管理,或者需要同时管理非 Python 的系统依赖,conda、uv 这类工具会更方便。入门阶段建议先把 venv 用熟:创建、激活、安装、冻结、退出这一套流程跑通,再去学其他工具,理解起来会快很多。

一个好的开始习惯

每新建一个 Python 项目,先做三件事:创建虚拟环境、激活它、写好 requirements.txt。项目小的时候这几步看起来多余,可一旦项目变大、依赖变多、需要换电脑或和别人协作,它们就会成倍地省时间。养成这个习惯,之后再学 Docker、包管理或部署工具,也会更容易理解“环境隔离”这个核心思想。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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