Python venv 入门:三条命令给项目建一个干净的虚拟环境
刚开始学 Python 时,很多人会直接把包装进系统 Python 里。装得越多,项目之间越容易打架:A 项目要 requests 2.x,B 项目要 3.x,升级一个,另一个就跑不起来。Python 自带的 venv 模块正是为了解决这个问题:给每个项目建一个独立干净的“小房间”,互不干扰,各用各的包。
一、venv 是什么
虚拟环境就是一份独立的 Python 解释器副本加一套独立的包目录。激活之后,pip 安装的包只进当前环境的目录,不会污染系统 Python;退出之后,一切恢复原样。从 Python 3.3 起,venv 就是标准库的一部分,不需要再装第三方工具,开箱即用。
二、三条命令上手
第一步,创建环境。在项目目录下执行:python -m venv .venv。这条命令会在当前项目下生成一个 .venv 文件夹,里面就是一套独立的 Python 环境。
第二步,激活环境。Windows 系统执行 .venv\Scripts\activate;macOS 或 Linux 系统执行 source .venv/bin/activate。成功之后,命令行最前面会出现 (.venv) 标志,表示当前已经进入虚拟环境。
第三步,退出环境。输入 deactivate 即可回到系统 Python。怎么确认环境是干净的?激活后执行 pip list,如果只看到 pip、setuptools 等少数基础包,就说明这是一个全新的干净环境。
三、装包与固化依赖
在激活状态下,用 pip install requests 这样的方式安装需要的包。项目完成后,执行 pip freeze > requirements.txt,把依赖和版本写进文件。换一台电脑接手项目时,先建环境,再执行 pip install -r requirements.txt,就能一键还原同样的依赖组合,不用一个个去猜版本号。
四、新手常踩的三个坑
第一,不要把 .venv 提交到代码仓库。在 .gitignore 里加一行 .venv,环境随时可以重建,没必要跟着代码一起上传。
第二,每个项目单独建环境,不要多个项目共用一个环境,否则包又混在一起,等于回到互相打架的老路。
第三,换一个终端或重启编辑器后记得重新激活,看到命令行前面的 (.venv) 前缀再装包,否则包可能装进了系统 Python。
虚拟环境是 Python 开发的基础习惯,成本只有三条命令,收益是再也不用为版本冲突返工。从今天起,给每个新项目先建一个 venv,再开始写代码。
- 点赞
- 收藏
- 关注作者
评论(0)