文章目录
为什么你的Python项目总在打架?(灵魂拷问)
最近隔壁工位的小王又双叒叕崩溃了!这哥们儿昨天跑的机器学习模型,今天突然报了一堆依赖错误。我过去一看差点笑出声——他的numpy版本在项目A用1.18,项目B却要1.22(大型翻车现场)!这种"版本战争"其实用Anaconda虚拟环境就能轻松搞定,今天就教大家怎么用conda命令创建专属开发空间!
虚拟环境是个什么鬼?(3秒科普)
简单说就是给你的每个项目准备独立房间:
- 项目A:Python 3.6 + numpy 1.18
- 项目B:Python 3.9 + numpy 1.22
- 公共区域:系统默认环境
互不干扰还能随时切换(简直不要太爽)!
手把手创建实战(Windows/Mac通用)
第一步:打开你的魔法终端
Win用户按【Win+R】输入cmd回车,Mac直接打开Terminal(别告诉我你找不到)
第二条命:conda create花式玩法
基础版(适合萌新):
conda create --name myenv
这个命令会创建名为myenv的空环境(就像毛坯房)
进阶版(老司机专用):
conda create -n dl_env python=3.8 pytorch=1.7.1 cudatoolkit=11.0 -c pytorch
这条神操作直接创建包含指定版本PyTorch和CUDA的深度学习环境(一步到位!)
隐藏技巧大放送(一般人我不告诉)
- 指定安装路径(适合强迫症患者):
conda create --prefix ./project_env
- 克隆现有环境(复制粘贴大法):
conda create --name clone_env --clone base
- 查看环境列表(防止重名翻车):
conda env list
新手上路常见坑(血泪教训总结)
坑1:创建完环境找不着北?
很多小伙伴创建完环境直接运行python,结果发现还是系统版本(懵逼脸)。记住要激活环境!
conda activate your_env_name
看到命令行前缀变成环境名才算成功(重要的事情说三遍!)
坑2:安装包时网络抽风?
试试清华镜像加速(速度飞起):
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
坑3:环境太多管理混乱?
推荐使用anaconda-navigator可视化管理(颜值党必备),还能直接装GUI软件!
环境太多怎么办?(收纳大师附体)
场景1:临时测试用环境
conda create -n test_temp --yes && conda activate test_temp
测试完直接删:
conda remove --name test_temp --all
场景2:项目专属环境
建议在项目根目录创建:
conda create --prefix ./venv
这样每个项目自带环境,git提交时记得在.gitignore添加venv/(重要!)
究极奥义:环境导出大法
团队协作必备神技:
conda env export > environment.yml
别人拿到这个文件只需:
conda env create -f environment.yml
保证依赖版本完全一致(再也不用背锅了!)
课后小测验(检验学习成果)
- 创建一个名为"nlp_demo"的环境,要求Python3.7和spacy最新版
- 如何查看当前环境已安装的包?
- 环境激活失败最常见的原因是什么?
(答案藏在文章里,找不到的自觉面壁)
写在最后
记得上次我把10个项目的依赖都装在base环境,结果更新某个包时直接引发连环爆炸(惨痛教训)。自从学会虚拟环境,现在每个项目都有独立沙箱,再也不用担心依赖冲突啦!你们还遇到过哪些环境管理的奇葩问题?欢迎评论区交流(在线等,挺急的)!