前言
还在手动配置各种 Python 环境?还在为包冲突秃头?这篇文章将手把手教你如何使用 Conda 来管理环境、并和 Pip 并行作战,附送国内镜像源设置方法,让你轻松告别“网络延迟”与“安装失败”!
一、Conda 是啥?
Conda 是一个开源的包管理器 + 环境管理工具,常用于 Python/R 等多语言项目。它可以让你在同一台电脑上创建多个互不干扰的“虚拟环境”,从此大大减少包冲突和版本不兼容的困扰。
二、下载安装 Conda
1. 选 Anaconda 还是 Miniconda?
1. Anaconda:附带大量常用的数据科学包(Numpy、Pandas、Matplotlib 等),包体积较大,一步到位。
2. Miniconda:只有 Conda 核心,体积小巧,想装什么包自己来。
官方下载地址:
建议:如果对包体积敏感或者只需核心功能,选择 Miniconda。初学者或一次配齐所有数据分析库,则可选 Anaconda。
2. 安装步骤(以 Miniconda 为例)
• Windows:下载 .exe,双击安装,按提示 “Next”->“I Agree”-> 选择安装目录->“Install”-> “Finish”。
• macOS / Linux:下载 .sh,在终端执行:
bash Miniconda3-latest-Linux-x86_64.sh
# 或
bash Miniconda3-latest-MacOSX-x86_64.sh
全程“Enter” + “yes” 即可完成,之后重开一个终端,即可使用 conda 命令。
3. 验证安装
conda --version
若输出诸如 conda 23.x.x,恭喜你成功安装!
三、基本操作命令(Conda + Pip 并行)
1. Conda 常用命令
conda --version # 查看 conda 版本
conda update conda # 更新 conda 本身
conda info # 查看 conda 基本信息
conda create -n myenv python=3.8 # 创建名为 myenv 的环境,Python 3.8
conda activate myenv # 激活 myenv 环境
conda deactivate # 退出当前环境,回到上层(通常是 base)
conda env list # 列出所有环境
conda install numpy # 在当前环境安装 numpy
conda list # 查看已安装的包
conda remove numpy # 卸载 numpy
conda update numpy # 更新 numpy
conda remove --name myenv --all # 删除 myenv 环境(一次性清理)
# 或者:
conda env remove -n myenv
conda clean --all # 清理未使用的包和缓存
2. Pip 常用命令
在 Conda 环境下,Pip 依然可以使用,但请尽量先用 conda install 安装库,因为 Conda 会更好地处理依赖关系。某些 Conda 中没有的包,再用 Pip 来安装。
pip install requests # 安装 requests
pip uninstall requests # 卸载 requests
pip list # 列出已安装的包
pip freeze > requirements.txt # 导出 pip 包信息
pip install -r requirements.txt # 通过文件安装 pip 包
3.Conda + Pip 并行可行吗?
• 可以,但需注意尽量在 Conda 环境中优先用 conda install 安装常见科学计算包(如 numpy、pandas 等),这样能减少冲突。
• 对于 Conda 没有收录的第三方库,可以使用 pip install xxx。
• 一般情况下,两者能够并行运行,但若出现冲突,建议新建一个环境,分别测试哪些包更适合用 conda 安装,哪些用 pip 安装,以达到最佳兼容性。
四、如何导出 & 导入环境(Conda + Pip 双保险)
1. Conda 方式
# 导出当前环境依赖到 environment.yml
conda env export > environment.yml
# 通过 environment.yml 创建新环境
conda env create -f environment.yml
# 在已存在的环境中,更新环境使其与 environment.yml 同步
conda env update -f environment.yml
2. Pip 方式
如果你也用 Pip 安装了一些包,希望别人用 Pip 的方式一键还原,则可以:
# 导出 pip 包信息到 requirements.txt
pip freeze > requirements.txt
# 通过 requirements.txt 一键安装
pip install -r requirements.txt
建议:为了保证团队共享环境的完整一致性,最好同时导出 environment.yml 和 requirements.txt,这样无论他人用 Conda 还是 Pip,都能按需安装对应的包。
五、国内镜像源配置(Conda & Pip)
1. Conda 设置国内镜像源
国外服务器经常因网络原因导致下载失败或速度感人。幸运的是,我们可以添加国内镜像源(如清华 TUNA、阿里云等)。以下以 清华镜像 为例:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --set show_channel_urls yes
• channels:添加替换的仓库源地址。
• show_channel_urls:让 Conda 显示具体源信息,方便调试。
有时需要移除官方默认源,或调换优先级;也可手动修改 ~/.condarc 文件(macOS/Linux)或 C:\Users\<用户名>\.condarc(Windows)。
2. Pip 设置国内镜像源
同样地,Pip 也可使用国内镜像。编辑/创建 ~/.pip/pip.conf(macOS/Linux)或 C:\Users\<用户名>\pip\pip.ini(Windows),写入:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
timeout = 6000
这样,未来 pip install 都会走国内镜像,速度快到飞起!
六、实操演示:开发全流程
1. 安装 & 更新:
conda update conda
2. 创建环境:
conda create -n mydata python=3.9
conda activate mydata
3. 镜像设置(可选,提升下载速度):
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --set show_channel_urls yes
4. 安装依赖:
conda install numpy pandas
# 如果某些库 conda 没有,则用 pip
pip install requests
5. 开发 & 测试代码
6. 导出环境:
# Conda 环境
conda env export > environment.yml
# Pip 包
pip freeze > requirements.txt
7. 分享给队友:
# 队友可以用 Conda
conda env create -f environment.yml
# 也可以只想用 pip
pip install -r requirements.txt
8. 环境维护:
conda clean --all
让硬盘清爽又干净!
七、常见 Q&A
1. Conda 和 Pip 可以混用吗?
• 可以,但要优先用 Conda 安装 Conda 能找到的包,只有当包不在 Conda 仓库,才用 Pip。
2. 安装时速度奇慢或超时
• 尝试添加国内镜像源,或更换网络环境(VPN/代理)。
3. 权限不够
• 安装在用户目录即可。别把 Conda 安到系统文件夹,容易各种“踢飞权限”。
4. 环境冲突
• 新建一个干净环境即可,别在一个环境里啥都往里装,否则冲突概率会飙升。
八、结束语
恭喜你!
• 现在你学会了安装和使用 Conda。
• 你也知道如何用 Pip 继续安装无法在 Conda 中找到的包。
• 你更知道如何设置国内镜像源,让下载和安装畅通无阻。
要是本篇带给你一点点帮助,还请多多点赞、关注、收藏以及转发给更多小伙伴,一起摆脱“环境炼狱”!
• 点赞:你的一赞是我持续更新的最大动力!
• 关注:后续还会分享更多编程干货,别错过哦!
• 收藏:随时翻看攻略,不怕踩坑!
• 评论:有疑问或想法,欢迎在评论区留言交流!
• 转发:把这篇文章分享给需要的朋友,让我们一起愉快地玩转 Conda !
从此让我们在 Conda + Pip 的世界里自由畅行,做个安静又快乐的“吃瓜”攻城狮吧!
—— 全文完 ——
感谢阅读,期待你的点赞 + 关注 + 评论 + 收藏 + 转发,我们下期见!