Python 虚拟环境入门:为什么 pip 装到了全局

举报
yd_213494201 发表于 2026/11/05 01:04:08 2026/11/05
【摘要】 明明只在一个项目里 pip install,结果别的项目也跟着变了?那是装到全局了。虚拟环境就是给每个项目一个隔离的包环境:本文用 venv 三分钟上手。

明明只在一个项目里 pip install,结果别的项目也跟着变了——A 项目要 requests 2.31、B 项目要 2.19,装了新版本旧项目就坏,这是没有隔离。虚拟环境就是给每个项目一个独立的包目录,互不影响。

一、创建与激活

进入项目目录后执行 python3 -m venv .venv 创建,然后 source .venv/bin/activate 激活(Windows 是 .venv\Scripts\activate)。激活后命令行前面会出现 (.venv) 前缀,此时 pip install 装的包只属于这个项目。deactivate 退出。

二、requirements.txt 固定依赖

pip freeze > requirements.txt 把当前环境导出成清单,别人拿到项目后 pip install -r requirements.txt 一条命令还原。团队协作时把它提交到仓库,注意 .gitignore 里要排除 .venv 目录本身。

三、两个常见坑

三、两个常见坑

第一是激活了但 pip 还是指向全局:which python3 检查,多数是忘了 source activate 或用了错误的解释器。第二是 requirements 导出了本地路径(file:// 开头):在干净环境里重新 freeze 即可。

小结:venv 是 Python 工程化的第一课——一个项目一个环境,依赖用 requirements.txt 固定,团队和未来的自己都会感谢你。装包前先看一眼提示符,确认自己在哪个环境里。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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