Python 入门:每个项目都该有一个独立的虚拟环境

举报
yd_225636183 发表于 2026/10/26 10:23:40 2026/10/26
【摘要】 Python 入门:每个项目都该有一个独立的虚拟环境 先说一个常见翻车现场学 Python 没多久,很多人都会遇到这种事:A 项目要 requests 2.x,B 项目要 requests 1.x;给 A 装了新版,B 就跑不起来;给 B 降回去,A 又报错。更糟的是,跟着教程装了一堆包之后,根本记不清哪个包是哪个项目要的,换台电脑重装环境,像开盲盒。问题不在包本身,而在所有项目共用同一个...

Python 入门:每个项目都该有一个独立的虚拟环境

先说一个常见翻车现场

学 Python 没多久,很多人都会遇到这种事:A 项目要 requests 2.x,B 项目要 requests 1.x;给 A 装了新版,B 就跑不起来;给 B 降回去,A 又报错。更糟的是,跟着教程装了一堆包之后,根本记不清哪个包是哪个项目要的,换台电脑重装环境,像开盲盒。

问题不在包本身,而在所有项目共用同一个 Python 环境。解决办法很简单:每个项目一个虚拟环境(venv),互不干扰。

虚拟环境是什么

虚拟环境就是给项目单独划出的一套 Python 解释器和包目录。你在这个环境里装什么、升级什么,都只影响当前项目,不会动系统 Python,也不会动别的项目。

Python 3.3 起自带 venv,不用额外装工具,够入门用。等项目多了,再学 conda、uv 也不迟,先把 venv 的手感练熟。

动手走一遍

# 1. 进到项目目录
cd my-project

# 2. 创建虚拟环境(名字习惯叫 .venv,不放进版本库)
python3 -m venv .venv

# 3. 激活
source .venv/bin/activate   # Linux / macOS
# Windows 上是:.venv\Scripts\activate

# 4. 激活后命令提示符前面会出现 (.venv),这时再装包
pip install requests

# 5. 退出环境
deactivate

激活后 which python 和 which pip 指向的都是 .venv 里的版本,这就是隔离生效的证据。没激活时装包,装的是全局环境——新手最容易在这里踩坑:明明装了,运行却说找不到。

两个好习惯

第一,建好环境第一件事是把依赖记下来:

pip freeze > requirements.txt

换电脑、换同事接手时,只要 pip install -r requirements.txt 就能还原同一套依赖,不用凭记忆一个个装。

第二,把 .venv 加进 .gitignore,不要把几百 MB 的环境文件提交进 Git。版本库里只留代码和 requirements.txt,环境是可以随时重建的。

常见疑问

装包很慢怎么办?先确认是不是网络问题,国内可以临时换一个镜像源,例如 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests,只影响这一次安装,不改全局配置。

系统自带的 Python 能不能直接用来装包?不建议。系统工具可能依赖它,乱升级容易把系统工具搞坏。自己的项目一律用虚拟环境,系统 Python 只留给系统。

虚拟环境是不是越建越多、占磁盘?是,但这是值得付的成本:一个项目几十到几百 MB,换来的是“每个项目都能独立跑起来”。项目删了,对应的 .venv 一并删掉就行。

一句话总结

学 Python 不必先学一堆工具,但要先养成一个习惯:新建项目先 python3 -m venv .venv,再激活、再装包。环境隔离做对了,后面少踩一半的坑。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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