Python新手入门:虚拟环境与包管理,一次讲清venv和pip

举报
yd_296515785 发表于 2026/10/27 19:03:40 2026/10/27
【摘要】 刚学 Python 的时候,很多人都会遇到这样的问题:明明在自己的电脑上装好了某个库,换一台电脑或者换一个项目,代码就跑不起来了;或者两个项目需要的同一个库版本不一样,升级一个就把另一个搞坏了。其实,这些问题大多可以用一个办法解决,那就是虚拟环境。 一、虚拟环境是什么虚拟环境可以理解为给每个项目单独准备的一套 Python 运行空间。它有自己独立的解释器和第三方库目录,和系统里的 Pytho...

刚学 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 工程化的一道小门槛。接下来可以继续了解依赖锁定、项目结构和打包发布,这些都会在这个基础上变得更容易理解。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。