Python 新手避坑:用 venv 给每个项目配一套独立依赖
刚学 Python 时,很多人会在一台电脑上装一堆库:A 项目要 requests 2.x,B 项目的教程却要求 requests 1.x;装新库时一不小心升级了旧库,昨天还能跑的代码今天就报错了。其实问题不在代码,而在依赖都挤在同一个全局环境里。Python 自带的 venv 就是解决办法:给每个项目建一个独立的小环境,互不干扰。
第一步,创建虚拟环境。进入项目文件夹后运行:python -m venv .venv。这会在项目里生成一个 .venv 文件夹,里面是一套独立的 Python 解释器和 pip。注意把 .venv 加进 .gitignore,不要把它提交到代码仓库——它体积大、且和操作系统绑定,换台电脑要重新建。
第二步,激活它。Windows 上是 .venv\Scripts\activate,macOS 和 Linux 上是 source .venv/bin/activate。激活成功后,命令行前面会出现 (.venv) 标记,这时再用 pip install 装库,装的都只进这个项目的小环境,不会动全局环境。退出用 deactivate。很多人踩的坑就是忘了激活:pip 装完却发现 import 报错,一查才发现装到了全局环境。
第三步,锁定依赖,方便复现。项目能跑通后运行 pip freeze > requirements.txt,把当前环境的库和版本号记下来。换电脑或给同事交接时,只要新建 venv、激活、再 pip install -r requirements.txt,就能还原出一模一样的环境。不要直接把 requirements.txt 里所有包都升级一遍再提交,那等于放弃了锁定带来的稳定性。
再分享三个小习惯:第一,一个项目一个 venv,哪怕是练手小项目也养成习惯,成本只是一条命令;第二,定期清理不再用的环境,.venv 文件夹删了就能重建,不用心疼;第三,遇到奇怪的报错先问自己一句:我现在激活的是哪个环境?用 which python(Windows 用 where python)确认一下解释器路径,很多“玄学报错”到这一步就现形了。
总结:venv 不用装任何第三方工具,建环境、激活、装库、freeze 锁定,四步走下来,项目之间的依赖冲突基本就消失了。先把环境隔离开,再谈写代码,心态会稳很多。
- 点赞
- 收藏
- 关注作者
评论(0)