Python 新手的第一个好习惯:给每个项目建一个 venv
刚学 Python 的新手,几乎都会在某一天撞上同一堵墙:昨天还能跑的代码,今天装了个新库就报错了;或者跟着两篇教程装了两个版本的同一个库,互相打架。问题往往不在代码,而在环境:所有项目共用一个全局 Python 环境,依赖一多就乱套。解决办法其实只有一个好习惯:每个项目建一个自己的虚拟环境 venv。
venv 是什么
一句话:venv 是给单个项目划出来的独立小房间。房间里有自己的一套 Python 解释器和依赖包,装什么、升级什么,都只影响这一个项目,不会动全局环境,也不会影响别的项目。Python 3.3 之后 venv 自带,不用另外安装。
四步建好一个 venv
进到你的项目目录,依次做四件事:
python -m venv .venv
这行是在项目里建一个叫 .venv 的文件夹,里面就是独立环境。文件夹名字叫 .venv 是约定俗成,换成 venv 也可以,但 .venv 更常见。
然后激活它。Windows 和 macOS/Linux 的命令不一样:
Windows:.venv\Scripts\activate
macOS / Linux:source .venv/bin/activate
激活成功后,命令行前面会多出一个 (.venv) 标记,这就是“你在房间里了”的信号。接下来装库:
pip install requests
这时装的 requests 只进这个项目的房间,全局环境看不到它。用完退出也很简单:
deactivate
三个最容易翻车的地方
坑一:忘了激活就装库。命令行前面没有 (.venv) 标记时 pip install 装的是全局环境,项目换台电脑就跑不起来。装库之前先看一眼前面有没有标记。
坑二:把 .venv 传到 Git 仓库。虚拟环境文件夹可能有几百兆,而且里面是本机路径,传上去没用还占地方。项目根目录建一个 .gitignore 文件,里面写一行 .venv,就能把它排除掉。
坑三:一个环境用到老。新项目直接复用旧项目的 venv,依赖越攒越多,最后自己都不知道这个项目到底需要什么。新项目第一件事就是新建一个 venv,干净开始。
为什么值得现在就养成习惯
venv 的成本几乎为零:建一次不到一分钟,激活就是一条命令。换来的好处却很实在:每个项目依赖清晰、出了问题只影响一个项目、换电脑时对着 requirements.txt 重装就能复原。等你以后接触 Docker、部署上线,会发现这套“环境隔离”的思想到处都在用,venv 是最便宜的入门课。
从今天起,新建 Python 项目先做两件事:建 venv,再激活。三个月后你会感谢这个习惯。
- 点赞
- 收藏
- 关注作者
评论(0)