Python 新手先搞懂一件事:虚拟环境 venv 与 pip 依赖管理入门
很多 Python 新手都会遇到一个尴尬:同一个项目,在自己电脑上跑得好好的,换一台电脑或者交给同事,就报模块找不到、版本不对。问题往往不在代码本身,而在环境没有管好。虚拟环境 venv 和 pip 依赖管理,就是解决这类问题最基础、也最值得先养成的一套习惯。
先说一个关键概念:Python 解释器是共用的,项目却应该是隔离的。如果你把所有项目的依赖都装进系统 Python,A 项目要 requests 2.28,B 项目要 2.32,最后只能留一个版本,迟早互相打架。虚拟环境相当于给每个项目单独准备一个干净的房间,装什么、装哪个版本,都只影响这个项目。
创建和使用并不复杂。在项目目录下执行 python -m venv .venv,就会在当前目录生成一个 .venv 文件夹。接着在 Windows 上用 .venv\Scripts\activate 激活,在 macOS 或 Linux 上用 source .venv/bin/activate 激活。激活后,命令行前面会出现 (.venv) 提示,这时再用 pip 安装的包,就只会装进这个环境。退出时执行 deactivate 即可。
一个新手常犯的错误,是把 .venv 一起提交到代码仓库。其实它只是本地生成的环境,不需要也不应该入库。正确的做法是把依赖清单交出去:开发过程中用 pip install 安装需要的包,完成后执行 pip freeze > requirements.txt,把当前环境的包和版本写进文件。别人拿到项目后,先创建并激活自己的虚拟环境,再执行 pip install -r requirements.txt,就能得到基本一致的依赖。
养成这套流程后,工作方式会变得很清晰:一个项目对应一个虚拟环境,一份 requirements.txt 对应一套可复现的依赖。出了问题,先看是不是激活错了环境,再看依赖版本对不对,最后再怀疑代码。把环境问题和代码问题分开排查,调试效率会高很多。这也是从写能跑的代码,走向写能交给别人跑的代码,很重要的一步。
- 点赞
- 收藏
- 关注作者
评论(0)