Python 虚拟环境与依赖管理:venv 快速上手

举报
yd_222568844 发表于 2026/10/28 20:06:24 2026/10/28
【摘要】 很多 Python 项目一开始都能跑,换一台机器就出问题:本地装过的依赖在新环境提示找不到,两个项目要的库版本互相冲突。根源常不是代码写错,而是没有给每个项目独立的依赖空间。venv 是 Python 自带的办法,它为项目创建隔离的解释器和包目录,让依赖互不干扰。 一、为什么需要虚拟环境全局安装的包是所有项目共用的,项目 A 要旧版本、项目 B 要新版本时,全局环境只能保留一个。虚拟环境把解...

很多 Python 项目一开始都能跑,换一台机器就出问题:本地装过的依赖在新环境提示找不到,两个项目要的库版本互相冲突。根源常不是代码写错,而是没有给每个项目独立的依赖空间。venv 是 Python 自带的办法,它为项目创建隔离的解释器和包目录,让依赖互不干扰。

一、为什么需要虚拟环境

全局安装的包是所有项目共用的,项目 A 要旧版本、项目 B 要新版本时,全局环境只能保留一个。虚拟环境把解释器、pip 和包目录复制成项目专属的一份,互不影响;删掉它也不会影响系统 Python。团队只要约定 Python 版本和依赖清单,就能在干净环境复现同样的运行结果。

二、创建与激活

在项目根目录执行:

python -m venv .venv

Windows 激活:

.venv\Scripts\activate

macOS 或 Linux 激活:

source .venv/bin/activate

出现 (.venv) 标记即表示当前 python 和 pip 已指向虚拟环境,退出用 deactivate。把 .venv 加入 .gitignore,只提交代码和依赖清单。

三、在虚拟环境里装包

激活后再装包,包只进当前环境:

pip install requests
pip list

先升级 pip 可减少失败;指定版本时写清,如 pip install “requests==2.32.3”,避免大版本升级破坏项目。pytest、black 等开发工具可与运行依赖分开记录。

四、用 requirements.txt 固化依赖

不要凭记忆重装。导出用:

pip freeze > requirements.txt

新环境创建并激活虚拟环境后执行:

pip install -r requirements.txt

这份清单就是依赖快照,定期清理无用包,上线前在干净环境按清单重装一次,是最有效的自查。

五、常见问题

忘记激活最常见:没有 (.venv) 标记就装包,包会进全局环境。编辑器选错解释器也一样,调试前确认 python 路径指向 .venv。安装失败时,先看 Python 版本、网络与镜像,再考虑升级 pip。

结语

先隔离、再安装、最后固化清单,依赖问题就从玄学变成可复现、可修复的常规操作。这也是 Python 项目最值得养成的基本习惯。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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