Python 虚拟环境入门:用 venv 隔离项目依赖
【摘要】 刚学 Python 的同学,很多人都会遇到这样的问题:项目 A 需要 requests 2.25,项目 B 需要 requests 2.31。两个都装进系统环境以后,一个能跑,另一个就报错了。解决办法很简单,就是给每个项目准备一个独立的“虚拟环境”。Python 3.3 以后自带 venv 模块,不用额外安装就能用。 一、创建虚拟环境进入项目目录后执行:python3 -m venv .ve...
刚学 Python 的同学,很多人都会遇到这样的问题:项目 A 需要 requests 2.25,项目 B 需要 requests 2.31。两个都装进系统环境以后,一个能跑,另一个就报错了。解决办法很简单,就是给每个项目准备一个独立的“虚拟环境”。Python 3.3 以后自带 venv 模块,不用额外安装就能用。
一、创建虚拟环境
进入项目目录后执行:
python3 -m venv .venv
这条命令会在当前目录下生成一个 .venv 文件夹,里面有一份独立的 Python 解释器和 pip。习惯上把它命名为 .venv,大多数编辑器都能自动识别。
二、激活与退出
Linux / macOS:source .venv/bin/activate
Windows:.venv\Scripts\activate
激活成功后,命令行前面会出现 (.venv) 的字样。此时再执行 pip install,包只会装进这个项目自己的环境,不会影响系统和其他项目。用完以后输入 deactivate 就能退出。
三、记录与还原依赖
项目开发完成后,把依赖导出成清单:
pip freeze > requirements.txt
同事拿到代码后,只要新建虚拟环境、激活,再执行:
pip install -r requirements.txt
就能装好一模一样的依赖版本,基本不会再出现“在我电脑上能跑”的情况。
四、几个实用建议
- 不要把 .venv 提交到 Git,在 .gitignore 里加上一行
.venv/即可,仓库里只保留 requirements.txt。 - 虚拟环境不能随意移动或改名,因为里面的路径是写死的。坏了直接删掉重建就好,成本很低。
- 想换 Python 版本,可以用对应版本的解释器来创建,比如
python3.11 -m venv .venv。 - 如果国内下载速度慢,可以临时指定镜像源:
pip install -i https://repo.huaweicloud.com/repository/pypi/simple requests。
五、小结
venv 是 Python 项目管理里最基础、也最值得养成的习惯:一个项目一个环境,依赖写进 requirements.txt,环境坏了就删掉重建。把这三步练熟以后,再去学 poetry、conda 这类更高级的工具,也会轻松很多。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)