Python 虚拟环境与 pip 换源:venv 五步开箱与国内镜像提速
【摘要】 十年项目不互相打架的正确姿势: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)