Python虚拟环境与包管理入门:venv+pip一次讲清

举报
yd_298725470 发表于 2026/11/10 06:11:21 2026/11/10
【摘要】 为什么先学虚拟环境刚学 Python 的人,常在第一步就踩坑:跟着教程装了 requests、numpy、pandas,换个项目又装另一套版本,最后系统里的包越装越乱,一个项目能跑、另一个项目一跑就报版本冲突。根源不在代码,而在所有项目共用同一套全局 Python 环境。虚拟环境就是给每个项目单独开一间“小房间”,包只装在房间里,互不干扰;项目删了,房间连同依赖一起删掉,系统依旧干净。这个...

为什么先学虚拟环境

刚学 Python 的人,常在第一步就踩坑:跟着教程装了 requests、numpy、pandas,换个项目又装另一套版本,最后系统里的包越装越乱,一个项目能跑、另一个项目一跑就报版本冲突。根源不在代码,而在所有项目共用同一套全局 Python 环境。虚拟环境就是给每个项目单独开一间“小房间”,包只装在房间里,互不干扰;项目删了,房间连同依赖一起删掉,系统依旧干净。这个习惯越早养成,后面用 Docker 打包、配 AI 助手、做自动化脚本都会省很多事。

什么是虚拟环境

虚拟环境是一份独立的 Python 解释器副本加一套独立的包目录。激活之后,python 和 pip 指向的都是当前环境,安装、升级、卸载都只影响它。Python 3.3 起自带的 venv 模块就能创建,不需要再装第三方工具,对新手最友好。

三步创建并激活

第一步,在项目根目录创建环境,名字习惯用 .venv:

python3 -m venv .venv

第二步,激活它。Linux 或 macOS 用:

source .venv/bin/activate

Windows PowerShell 用:

.venv\Scripts\Activate.ps1

激活成功后,命令行前面会出现 (.venv) 这样的前缀,说明你已经在房间里了。用完退出也很简单,输入 deactivate 即可。

pip 的四个基本动作

装包、看包、导出、还原,是日常最常用的四个动作:

pip install requests
pip list
pip freeze > requirements.txt
pip install -r requirements.txt

装包之前,先把 pip 自身升到最新,少踩很多旧版本问题:

python -m pip install --upgrade pip

国内下载慢时,可以临时换一个镜像源,例如:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

requirements.txt 是项目的“购物清单”,别人拿到项目,先建虚拟环境,再按清单一键还原,就能得到和你一样的依赖组合。

新手最容易踩的四个坑

第一,忘记激活就 pip install,包直接装到了全局环境,项目换台电脑还是跑不起来。每次开工前,先看一眼命令行有没有 (.venv) 前缀。

第二,把 .venv 提交进了 Git。虚拟环境体积大、依赖操作系统,不应进版本库,只提交 requirements.txt,并在 .gitignore 里加上 .venv 和 pycache。

第三,requirements.txt 只写包名不写版本。pip freeze 会连同版本号一起导出,换机器复现才靠谱;只写包名时,新版包改了接口,代码可能直接报错。

第四,以为 venv 能解决所有版本问题。venv 只隔离包,不隔离解释器本身的版本。如果两个项目需要 Python 3.10 和 3.12 两个不同版本,就要再借助 pyenv 或 conda 管理多个解释器。

和 Docker、AI 工具怎么配合

虚拟环境解决的是“同一台机器上多个项目”的隔离,Docker 解决的是“换台机器也能跑”的隔离,两者是互补的:先在 venv 里把依赖跑通、用 freeze 导出 requirements.txt,再写 Dockerfile 按这份清单安装,镜像构建才稳定。用 AI 编程助手生成代码时,也要让它按 requirements.txt 里的版本写,并把助手给出的安装命令先在虚拟环境里试一遍,确认能跑再提交,避免助手凭记忆给出已经不存在的旧版本。

上手清单

  1. 新项目第一步:python -m venv .venv,然后激活。
  2. 装包前先升级 pip,下载慢就配镜像源。
  3. 依赖确定后,立即 pip freeze > requirements.txt。
  4. .venv 和 pycache 写进 .gitignore,不提交。
  5. 换电脑时先建环境,再 pip install -r requirements.txt 还原。

环境管理不是“高级技巧”,而是写 Python 的基本功。花十分钟把 venv 和 pip 的流程走通一次,之后每个项目都有干净、可复现的起点,调试和部署都会轻松得多。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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