Python 虚拟环境入门:为什么 pip 装到了全局
【摘要】 明明只在一个项目里 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)