Conda 虚拟环境
一、什么是 Conda 虚拟环境
打个比方:虚拟环境就像是一个个“独立的毛坯房”。
假设你的电脑(C盘或D盘)是一个大别墅,你装好 Anaconda 后,默认给你分配了一个最大的房间叫 base(基础环境)。
如果你不做任何操作,你买的所有家具(安装的 Python 包,比如 numpy、pandas、langchain)都会堆在这个 base 房间里。
问题来了:
-
你今天要做项目 A,需要
工具包 1.0版本。 -
明天你要做项目 B,需要
工具包 2.0版本(跟 1.0 不兼容)。 -
如果你都在
base里装,这俩就会打架,最后导致项目 A 或 B 跑不起来,甚至把环境搞坏,连conda命令都用不了。
虚拟环境的解决办法:
你在别墅里重新开辟出一个个全新的、完全空白的房间:
-
给项目 A 建一个房间叫
env_A,里面只装 Python 3.9 和工具包 1.0。 -
给项目 B 建一个房间叫
env_B,里面只装 Python 3.11 和工具包 2.0。
这两个房间互不干扰,里面的东西随便你怎么折腾,都不会影响别墅里的其他地方。你刚才建的 RAG 环境,就是你给这个 RAG 项目专门开辟的一个独立房间。
二、什么时候需要新建一个虚拟环境
核心原则:一个独立项目 = 一个虚拟环境。
具体来说,遇到以下情况,强烈建议新建一个虚拟环境:
-
开始一个新项目时(最常见)
就像做一个项目,它需要用到很多相关的库。这些库更新极快,且互相依赖复杂。新建一个专门的环境,可以保证这个项目用到的最稳定的版本组合。 -
项目的 Python 版本要求不同时
比如你旧项目是用 Python 3.8 写的(很多老库不支持新版本),但你新项目想用最新的 Python 3.12(像你刚才建的),这时候必须建新环境隔离。 -
测试新包、新代码时
如果你想试用一个不知道安不安全的开源包,或者测试一段新代码,千万别装到base里,建个临时环境随便测,测完直接conda remove -n 临时环境名 --all删掉,干干净净。 -
接手别人的项目或开源代码时
别人通常会给一个requirements.txt文件。你最好建个新环境来安装这些依赖,防止把你原本电脑里能跑通的代码环境给污染了。
三、建议
-
永远不要把工作项目跑在
base环境里。base环境只用来安装一些基础工具(比如 conda 本身,或者 Jupyter notebook),平时不要往里pip install任何业务代码需要的包。 -
项目建完了,环境可以随便删。如果你觉得 D 盘空间不够了,可以直接在终端运行
conda env list查看所有环境,然后用conda remove -n 环境名 --all把不要的环境彻底删除,释放空间。 -
离开项目时记得把环境记下来。如果你写好了代码,想要发给同事,记得运行
pip freeze > requirements.txt,把当前环境的包和版本导出来。同事拿到这个文件后,建个新环境,运行pip install -r requirements.txt,就能完美复现你的运行环境。
更多推荐

所有评论(0)