Python 虚拟环境与 pip 换源:venv 五步开箱与国内镜像提速

举报
yd_221252513 发表于 2026/11/04 07:34:10 2026/11/04
【摘要】 十年项目不互相打架的正确姿势:venv 创建/激活/导出依赖五步走,pip 国内镜像源一行命令提速,requirements 锁版本的两种粒度。

为什么要用虚拟环境

机器上只有一套 Python 时,A 项目要 requests 2.x、B 项目要 3.x,装来装去最后全局环境千疮百孔——这就是“依赖地狱”。虚拟环境的本质是给每个项目发一套互不干扰的包目录,Python 3 自带的 venv 一条命令即可创建:python -m venv .venv。

venv 五步常规操作

  • 创建:python -m venv .venv(目录名习惯用 .venv,编辑器会自动识别);
  • 激活:Windows 执行 .venv\Scripts\activate,Linux/macOS 执行 source .venv/bin/activate;
  • 装包:激活后 pip install 一切照旧,但只进当前环境;
  • 导出:pip freeze > requirements.txt,把版本钉死方便复现;
  • 复现:新机器上 python -m venv .venv && pip install -r requirements.txt,两步还原全环境。

两个小提醒:激活脚本不跨终端——新开一个 shell 要重新激活;嫌麻烦可以直接用 IDE 的解释器选择器指向 .venv,省去手动激活。

pip 换源:一行命令提速十倍

国内访问官方 PyPI 经常龟速甚至超时,换源 一步到位:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple。常用镜像还有阿里云、腾讯云、华为云,原理相同——把包索引指到国内 CDN。临时换一次可用 pip install -i 参数,永久换用上面的 config 命令写进配置文件。

requirements 锁版本的两种粒度

精确锁:pip freeze 直接生成 == 全等版本,复现性最强,适合部署;宽松锁:手写 requirements 时只钉大版本(如 requests>=2.31),日常开发更灵活。团队项目建议精确锁加 lock 文件,个人玩具项目宽松锁即可。别忘了把 .venv 目录写进 .gitignore——虚拟环境不属于仓库。

小结

虚拟环境管隔离,换源管速度,requirements 管复现。三件事都规矩了,Python 项目的可维护性就上了第一个台阶。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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