Python 虚拟环境 venv 入门:给每个项目一个干净的"房间"

举报
yd_254412059 发表于 2026/10/23 01:08:19 2026/10/23
【摘要】 用 Python 自带的 venv 给每个项目创建独立环境:创建、激活、装包、冻结依赖四步走,附新手避坑指南。

写 Python 的朋友一定遇到过这种尴尬:项目 A 需要 requests 2.x,项目 B 却要求 requests 1.x;或者 pip 装了一堆包之后,根本分不清哪个包是哪个项目用的。解决办法很简单——给每个项目一个独立的"房间",这就是 Python 自带的虚拟环境 venv。

一、为什么需要虚拟环境

默认情况下,pip install 会把包安装到全局的 site-packages 里。时间一长,全局环境里堆满各种版本的包,不同项目互相"打架",出了问题很难排查。虚拟环境则为每个项目创建一套独立的 Python 解释器与包目录,互不干扰。

二、创建你的第一个虚拟环境

venv 是 Python 3.3 起内置的标准库,无需安装。打开终端,进入项目目录,执行:

python -m venv .venv

这条命令会在当前目录下生成 .venv 文件夹,里面是一套独立的 Python 环境。习惯上把虚拟环境目录命名为 .venv 或 venv。

三、激活与退出

创建好之后,需要"走进这个房间"才能使用:

  • Windows:.venv\Scripts\activate
  • macOS / Linux:source .venv/bin/activate

激活成功后,终端提示符前会多出 (.venv) 前缀,表示你已经在虚拟环境中。此时 pip install 安装的包只会进入这个环境。想出来时执行:

deactivate

四、记录与复现依赖

在虚拟环境里装好依赖后,用一条命令生成清单:

pip freeze > requirements.txt

换一台机器(比如云服务器)时,只需创建并激活新的虚拟环境,再执行:

pip install -r requirements.txt

就能一键复现完全相同的依赖版本,部署时非常省心。

五、几个新手常踩的坑

  1. 忘记激活就 pip install:包又装回全局了。装之前先看一眼提示符有没有 (.venv)。
  2. 编辑器没选对解释器:在 VS Code / PyCharm 里记得把解释器切换到 .venv 下的那一个,否则 import 会报红。
  3. 把 .venv 提交到 Git:虚拟环境目录很大且与平台相关,记得在 .gitignore 里加上 .venv,只提交 requirements.txt。

六、小结

venv 的工作流其实只有四步:创建(python -m venv .venv)→ 激活(source .venv/bin/activate)→ 装包(pip install)→ 冻结(pip freeze > requirements.txt)。养成"一个项目一个虚拟环境"的习惯,依赖冲突会少掉一大半。如果你用云服务器跑 Python 项目,同样建议先建 venv 再装包:环境干净,回滚也容易。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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