Python新手入门:虚拟环境与包管理,一次讲清venv和pip
刚学 Python 的时候,很多人都会遇到这样的问题:明明在自己的电脑上装好了某个库,换一台电脑或者换一个项目,代码就跑不起来了;或者两个项目需要的同一个库版本不一样,升级一个就把另一个搞坏了。其实,这些问题大多可以用一个办法解决,那就是虚拟环境。
一、虚拟环境是什么
虚拟环境可以理解为给每个项目单独准备的一套 Python 运行空间。它有自己独立的解释器和第三方库目录,和系统里的 Python 互不干扰。你在一个项目里装了什么库,不会影响到另一个项目,也不会污染系统环境。这样做的好处很直观:项目之间互不打架,出了问题也更容易定位。
二、为什么新手也要尽早用
很多新手觉得虚拟环境是进阶内容,等以后再学也不迟。但恰恰相反,越早养成习惯,后面的麻烦越少。第一,它能避免版本冲突,例如项目 A 需要旧版本,项目 B 需要新版本,各自放在自己的环境里就互不影响。第二,它让项目更容易复现,别人拿到你的依赖清单就能还原出差不多的环境。第三,它能保护系统 Python,很多操作系统自带 Python,一旦乱装乱改,可能会影响系统工具。
三、用 venv 创建和激活环境
Python 3.3 之后自带了 venv,不需要额外安装。先进入项目目录,再创建环境:
python -m venv .venv
创建完成后,目录里会出现一个名为 .venv 的文件夹。接下来要激活它。Windows 上一般是:
.venv\Scripts\activate
macOS 或 Linux 上一般是:
source .venv/bin/activate
激活成功后,命令行前面通常会多出一个 (.venv) 标记,这说明你已经进入了这个项目的专属环境。用完之后,输入 deactivate 就可以退出。需要提醒的是,激活只对当前终端窗口有效,新开一个窗口要重新激活。
四、pip 的几个常用操作
进入虚拟环境后,就可以用 pip 安装库了。安装、查看、导出和还原,是最常用的四个动作:
pip install requests
pip list
pip freeze > requirements.txt
pip install -r requirements.txt
其中 requirements.txt 相当于项目的依赖清单,团队协作或者部署时非常有用。另外,偶尔可以升级 pip 本身,但不要频繁升级,更不要在系统 Python 里用管理员权限乱装包。养成一个习惯:先确认命令行前面有 (.venv),再安装,这样包才装进了正确的地方。
五、新手最容易踩的几个坑
第一个坑是忘记激活。装包时明明成功了,运行却提示找不到模块,往往就是装到了系统环境或者另一个环境里。第二个坑是把 .venv 一起提交到代码仓库。虚拟环境体积不小,而且和操作系统相关,一般只需要提交代码和 requirements.txt,不提交 .venv。第三个坑是版本写得太死或者太松。初期可以直接用 pip freeze 的结果,后面再根据需要逐步放宽或固定关键库的版本。
六、一个五分钟的小练习
你可以马上动手试一次:新建一个空文件夹,在里面创建虚拟环境并激活,安装一个轻量库,再用 pip freeze 导出清单,最后退出环境、删除环境、重新创建并用清单还原。这个过程走一遍,虚拟环境的概念就不再抽象了。以后每开一个新项目,第一步先建环境,第二步再装包,慢慢就会变成肌肉记忆。
结语
虚拟环境不是为了把事情变复杂,而是为了把依赖关系变清晰。学会 venv 和 pip 的基本配合,你就已经迈过了 Python 工程化的一道小门槛。接下来可以继续了解依赖锁定、项目结构和打包发布,这些都会在这个基础上变得更容易理解。
- 点赞
- 收藏
- 关注作者
评论(0)