Python 入门:第一次用虚拟环境,给每个项目一个干净的依赖空间
刚学 Python 的时候,我做过一件现在想起来有点后怕的事:所有练习都装在同一个全局环境里。今天学爬虫装一个库,明天做数据分析又装一个库,版本一升级,昨天还能跑的代码今天就报错了。那一刻我才明白,问题不在代码本身,而在于我没有给每个项目一个干净的依赖空间。虚拟环境,就是为了解决这个问题而存在的。
一、什么是虚拟环境
虚拟环境可以理解为一个独立的小房间。每个项目住进自己的房间,里面有自己的 Python 解释器和自己安装的第三方库,互不打扰。项目 A 需要某个库的 1.0 版本,项目 B 需要同一个库的 2.0 版本,在各自的房间里,它们可以和平共处,不会互相覆盖,也不会因为一次升级把另一个项目弄坏。
更重要的是,虚拟环境让项目变得可以搬运。别人拿到你的项目,只要按同一份依赖清单安装,就能在自己的电脑上复现出差不多的运行环境。这比口头说一句“我装了某某库”要可靠得多。
二、第一次创建虚拟环境
Python 自带了一个创建虚拟环境的工具,名字叫 venv,不需要额外安装。做法很简单:先给项目建一个文件夹,进入这个文件夹,然后在命令行里创建一个名叫 venv 的虚拟环境。创建完成后,文件夹里会多出一个 venv 目录,里面装着这个环境专用的解释器和安装工具。
创建只是第一步,关键是激活。激活之后,命令行前面会出现一个小标记,提示你现在已经在这个虚拟环境里了。这时再安装第三方库,装进的就是这个环境,而不是全局环境。退出环境也很简单,一条命令就能回到原来的状态。
三、装库、记账、还原
在虚拟环境里装库,和平时一样使用 pip。装完之后,我建议立刻做一件事:把当前环境的依赖清单写进一个 requirements.txt 文件。这个文件就是项目的购物清单,记录了每个库的名字和版本。
换一台电脑,或者过一段时间想重新搭建环境时,不用再凭记忆一个一个装库,只要按清单安装一次,就能把环境还原出来。这个习惯看起来多了一步,实际上省下了很多排错的时间。
四、一个小练习:给记账本配一个专属环境
我第一次真正用上虚拟环境,是做一个很小的记账本练习。先建项目文件夹,再创建并激活虚拟环境,然后只装这个练习需要的两个库:一个用来处理表格数据,一个用来画简单的图表。写完代码后,把依赖写进清单文件,最后停用环境。
第二天,我打开另一个旧项目,发现它的环境一点都没受影响。那种安心感,就是虚拟环境带来的最大好处:每个项目都有自己的空间,改一个不会牵连另一个。
五、新手最容易踩的三个坑
第一个坑是忘记激活。明明创建了环境,却在全局环境里装库,结果运行时还是找不到库。每次开始写代码前,先看一眼命令行前面有没有环境标记,养成这个习惯能少走很多弯路。
第二个坑是把虚拟环境文件夹一起发给别人。venv 文件夹通常很大,而且和操作系统有关,别人不一定能直接用。正确的做法是只分享代码和依赖清单,让对方自己创建环境、按清单安装。
第三个坑是依赖清单长期不更新。装了新库却不更新清单,过一段时间自己都忘了装过什么。每次装完新库就顺手更新一次清单,花不了几秒钟,却能让项目一直保持可复现的状态。
六、从今天开始的小习惯
如果你也刚开始学 Python,不妨从今天的第一个小项目开始,就给它配一个虚拟环境。步骤只有四步:创建、激活、安装、记录依赖。熟练之后,这四步加起来不到一分钟。
一个干净的依赖空间,不会让代码立刻变厉害,但它能让你把精力放在真正重要的事情上:理解问题、写出清晰的代码、做出能跑起来的小工具。等项目越来越多的时候,你会感谢今天这个小小的决定。
- 点赞
- 收藏
- 关注作者
评论(0)