Python 虚拟环境入门:venv 与 conda,一次讲清怎么选、怎么用
【摘要】 刚学 Python 的新手最常踩的坑,往往不是语法,而是环境:跟着教程装了 requests,运行却提示 ModuleNotFoundError;明明装了两个版本的库,项目 A 能跑,项目 B 就报错。根源只有一个——没有用虚拟环境。 一、什么是虚拟环境虚拟环境就是给每个项目单独准备的一套 Python“小房间”:解释器、第三方库、安装路径彼此隔离。你在这个房间里装什么、升级什么,都不会影响...
刚学 Python 的新手最常踩的坑,往往不是语法,而是环境:跟着教程装了 requests,运行却提示 ModuleNotFoundError;明明装了两个版本的库,项目 A 能跑,项目 B 就报错。根源只有一个——没有用虚拟环境。
一、什么是虚拟环境
虚拟环境就是给每个项目单独准备的一套 Python“小房间”:解释器、第三方库、安装路径彼此隔离。你在这个房间里装什么、升级什么,都不会影响其他项目和系统自带的 Python。
二、venv:Python 自带,够用又轻量
Python 3.3 起内置了 venv,不用额外安装,适合大多数个人项目。
创建并激活:
python -m venv .venv
source .venv/bin/activate # Windows 用 .venv\Scripts\activate
激活后命令行前面会出现 (.venv),这时用 pip 安装的包只会进这个环境。退出用 deactivate。把依赖冻结下来,方便别人复现:
pip freeze > requirements.txt
pip install -r requirements.txt
三、conda:数据科学与多版本管理的好帮手
如果你经常折腾科学计算、深度学习,或者需要在多台机器上管理多个 Python 版本,conda 更合适。它不只管 Python 包,还能管理 C 库等非 Python 依赖。
conda create -n myenv python=3.11
conda activate myenv
conda install numpy pandas
conda 的环境同样彼此隔离,一个项目配一个环境,切换只需要一条命令。
四、venv 和 conda 怎么选
- 常规 Web 开发、脚本、自动化:选 venv,轻量、零依赖;
- 数据科学、机器学习、多版本 Python:选 conda,依赖解析更强;
- 只想快速试一个库:venv 临时建一个,用完删掉。
记住一个原则:能用 venv 就不用 conda,但你装的库里一堆非 Python 的二进制依赖时,直接上 conda,反而少走弯路。
五、新手最容易踩的四个坑
- 在全局环境 pip install:今天装的包装进了全局,下个月另一个项目升级某个库,旧项目直接跑不起来。
- 激活环境后用的还是系统 pip:先确认
which python(Windows 用where python)指向的是虚拟环境下的解释器。 - requirements.txt 不冻结:项目能跑只在你自己的机器上,换一台机器就抓瞎。
- 把 .venv 提交到代码仓库:虚拟环境目录要进
.gitignore,只提交requirements.txt或environment.yml。
六、一个好习惯
每个新项目第一步:先建虚拟环境,再写第一行代码。养成这个习惯,你的环境问题会少掉九成。
虚拟环境不是进阶技能,而是 Python 开发的基本功。今天花十分钟把它用起来,以后搬项目、换电脑、上线部署,都会顺畅得多。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)