anaconda 相关

一、conda关系图


1.1 核心层级(安装器/发行版)

1.1.1 Anaconda Distribution(完整版)

安装包时默认指向收费的default_channels渠道源

定位:全家桶,预装了conda、Python及大量科学计算库(NumPy,SciPy,Pandas等)。

体积:大(约500MB+),适合新手开箱即用。

1.1.2 Miniconda(精简版)

Miniconda软件本身完全免费(BSD 3-Clause License 开源协议)

安装包时默认指向收费的default_channels渠道源

定位:最小化发行版,仅包含conda包管理器和基础Python。

特点:体积小(约50MB),灵活,需手动安装所需包。

1.1.3 Miniforge(社区精简版)

完全免费(MIT 许可证)

关键区别:默认源为conda-forge(无需手动换源)。

定位:社区维护的Miniconda变体,内置更快的mamba解析器。

1.14 收费

yaml 复制代码
|工具      |个人/教育|企业(<200人)|企业(≥200人)|
|Anaconda |免费     |免费       |需付费      |
|Miniconda|免费     |风险       |高风险      |
|Miniforge|免费     |免费       |免费        |

1.2 软件仓库(Channel/源)

defaults(官方源)

维护方:Anaconda公司。

特点:稳定、保守、更新慢、包数量少。

conda-forge(社区源)

维护方:全球开源社区。

特点:包极多、更新极快、覆盖全平台(含ARM/M1),是目前主流选择。
1.3 选型建议(速查)

新手/不想折腾:选Anaconda。

追求轻量/自定义:选Miniconda(需手动切换conda-forge源)。

追求速度/最新包/ARM架构:直接选Miniforge(自带conda-forge+mamba,最优解)。

二、选型说明

Anaconda官方源(defaults)在公司/商业环境下,超过200人规模必须收费;conda-forge社区源完全免费商用。
2.1 官方源(defaults)收费规则(2026最新)

免费范围:个人非商业、200人以下小公司、学术/非盈利机构。

收费范围:

公司员工≥200人,任何商业用途(开发/测试/生产)使用defaults源,必须购买商业许可证。

镜像、分发、嵌入Anaconda产品给第三方,一律收费。

风险点:Miniconda/Anaconda默认走defaults,即使只用conda命令,也会触发授权。
2.2 conda-forge(社区源)

完全免费:开源社区维护,无任何商业限制,企业可放心使用。

优势:包更多、更新更快、支持ARM/M1,国内镜像稳定。
2.3 企业合规方案(推荐)

2.3.1.直接用Miniforge(最优):默认conda-forge+mamba,彻底避开defaults。

2.3.2.Miniconda改源:

powershell 复制代码
conda config --remove-key channels
conda config --add channels conda-forge
conda config --set channel_priority strict

使用conda-forge渠道
conda create -n env_name -c conda-forge #创建新环境时指定conda-forge渠道
conda install -c conda-forge pkg_name #安装包时指定conda-forge渠道
-c参数:指定软件包来源渠道(channel)

2.3.3.禁用defaults:conda config --set default_channels []

一句话总结:公司超过200人,别碰defaults,直接用conda-forge最安全免费。

避开官方源(defaults),用社区源conda-forge完全免费

推荐安装Miniforge(默认conda-forge,无授权风险)

或Miniconda手动换源(彻底禁用defaults)

三、conda虚拟环境

3.1 conda虚拟环境

一个虚拟环境就是一个独立的目录(类似于一个房间),这个目录里包含了:

a、一个特定版本的Python解释器。比如老项目需要用Python 3.6、新项目想用Python 3.11

b、一套独立的第三方库(使用的工具,比如requests,numpy,django等),有自己的版本,比如旧版本仅支持python3.6,新版本支持仅支持3.11,它们的版本只在这个环境中有效,与其他环境隔绝。

虚拟环境就是给每个项目一个独立的空间,里面有自己的Python版本和自己专用的工具包,不会影响其他项目。不同的项目及相关依赖项可以在各自的"房间"里相安无事,互不冲突,便于管理和复现。

xml 复制代码
全局环境(系统Python)=公共厨房
    └──所有人共用,调料混乱,容易冲突
    
虚拟环境=每人一个独立小厨房
   ├──项目A的小厨房:Python 3.6 + Django 2.2
   ├──项目B的小厨房:Python 3.11 + Django 4.2
   └──项目C的小厨房:Python 3.9 + Flask 2.0

3.2 环境创建
conda环境下不切换环境直接安装默认是安装到base基础环境(conda自身运行的环境)

python 复制代码
conda create -n myproject python=3.10 #创建名为myproject的Python 3.10环境 python不写后缀默认安装最新python版本
查看环境列表
conda env list #显示所有已创建的虚拟环境,带 * 的为当前激活的环境。
查看当前环境的包
conda list  #列出当前环境中已安装的所有第三方库及其版本。

conda activate 环境名 #激活指定环境
conda deactivate     #退出当前环境
conda install 包名    #安装包  不切换环境直接安装默认是安装到base基础环境
conda remove -n 环境名 --all #删除环境

python -m venv my_project_env #运行venv模块(Python内置的虚拟环境工具)创建名为my_project_env的虚拟环境,不能选择python版本,只能用当前系统的Python版本,仅Python包(PyPI)	
# 指定Python版本创建(如果有多个版本)
python3.11 -m venv my_project_env
# 创建时同时升级pip
python -m venv my_project_env --upgrade-deps
pip list #查看已安装的包

# 激活虚拟环境
my_project_env\Scripts\activate # Windows
source my_project_env/bin/activate # macOS/Linux
# 安装项目依赖(示例)
pip install requests pandas numpy
# 退出虚拟环境
deactivate

3.3 环境复用

将项目所依赖的所有包及其版本号记录在一个文件(如requirements.txt)里。当其他人要运行项目时,只需要创建一个新的虚拟环境,然后根据这个文件安装所有依赖,就能得到一个一模一样的开发环境。

流程:

xml 复制代码
一、纯pip虚拟环境(venv/virtualenv)
# 1. 导出当前环境的依赖清单
pip freeze > requirements.txt
# 2. 拿到项目后,创建新环境并安装依赖
python -m venv myenv  #创建虚拟环境
source myenv/bin/activate  #Linux/Mac 执行shell脚本激活虚拟环境
myenv\Scripts\activate  #Windows 运行批处理脚本激活虚拟环境
pip install -r requirements.txt #安装依赖

requirements.txt示例
Django==4.2.0
requests==2.31.0
numpy==1.24.3
pandas==2.0.1

二、 Conda环境中使用pip
# Conda环境中也可以用pip
conda activate myenv
# 安装包(部分包只能用pip)
pip install some-package
# 导出(仅含pip包,不含conda包!)
pip freeze > requirements.txt

三、Conda推荐的做法
# 导出完整的Conda环境
conda env export > environment.yml
# 或仅导出显式安装的包(排除依赖自动安装的包) (推荐)
conda env export --from-history > environment.yml
# 恢复环境
conda env create -f environment.yml
# 或更新现有环境
conda env update -f environment.yml --prune
优先用conda install安装包
必须用pip时(某些包conda没有),再用pip install
导出完整环境用conda env export,而非pip freeze

3.4 conda.bat 文件说明

conda.bat是Conda的启动脚本/入口程序

html 复制代码
|属性        |说明                                    |
|**完整路径**|D:\software\anaconda\condabin\conda.bat |
|**文件类型**|Windows批处理脚本(.bat)                   |
|**本质**    |Conda命令的**启动器/入口**                |

核心功能:让系统认识conda命令
当你在任何目录输入 conda → 系统通过这个 .bat 找到 Conda 程序
|场景                |说明                              |
|**PyCharm识别Conda**|告诉IDE:"Conda装在这里,用它"        |
|**命令行激活 Conda** |双击运行可初始化Conda环境变量         |
|**多版本管理**       |不同路径的Conda可共存,通过指定.bat切换|

对比:conda.exe vs conda.bat
|文件       |路径                                    |用途                 |
|conda.exe |D:\software\anaconda\Scripts\conda.exe |直接执行Conda命令      |
|conda.bat |D:\software\anaconda\condabin\conda.bat|**初始化环境后**执行命令|

conda安装路径,看conda.exe
where conda   # Windows
which conda   # Linux/Mac

3.4.1 PyCharm 需要这个路径

PyCharm → 调用 conda.bat → 启动 Conda → 加载虚拟环境列表

PyCharm读取该路径,执行conda.bat(新版用conda.exe也可以)启动Conda,Conda返回所有可用环境(educate、learn、movie等),用户选择后,PyCharm用该环境运行项目

conda.bat是Conda的大门钥匙,PyCharm通过它找到并启动Conda,进而管理所有虚拟环境。
除了本地python和conda,pycharm还可以通过ssh及GPU环境使用python环境 !!!

四、使用方法

4.1 说明

镜像站提供了Anaconda仓库与第三方源(conda-forge、msys2、pytorch等,各镜像站镜像的第三方源并不相同,各系统都可以通过修改用户目录下的.condarc文件来使用镜像站。

不同系统下的.condarc目录如下:

yaml 复制代码
Linux:${HOME}/.condarc
macOS:${HOME}/.condarc
Windows:C:\Users\<YourUserName>\.condarc

注:

Windows用户无法直接创建名为.condarc的文件,可先执行conda config --set show_channel_urls yes生成该文件之后再修改。

由于更新过快难以同步,TUNA等镜像站不同步pytorch-nightly,pytorch-nightly-cpu,ignite-nightly这三个包。

如果从某一镜像源切换到另一镜像源,请检查镜像源是否同步了所需要的repo,以及该repo是否支持您使用的平台(e.g. linux-64)。

为了保证以下配置在所有镜像站可用,配置中只加入了少量必须的第三方源,在下方的列表中自行寻找并添加其他第三方源。

yaml 复制代码
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

envs_dirs:
  - F:\.conda\envs

pkgs_dirs:
  - F:\.conda\pkgs


1.配置镜像源(加速下载)
channels: 定义搜索包的频道,这里使用defaults(默认频道)
show_channel_urls:true:显示包的下载来源URL
default_channels:将默认频道指向 清华大学TUNA镜像站,替代官方源,加速国内下载
custom_channels:为conda-forge和pytorch两个常用第三方源配置清华镜像
2.修改缓存和环境的存储位置
envs_dirs:指定虚拟环境存放路径为 F:\.conda\envs(默认在C盘用户目录下)
pkgs_dirs:指定下载的包缓存路径为 F:\.conda\pkgs(默认也在C盘)

免费!!!
channels:
  - conda-forge
show_channel_urls: true
channel_priority: strict  #强制优先使用conda-forge,避免意外fallback到收费源


custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda

envs_dirs:
  - F:\.conda\envs

pkgs_dirs:
  - F:\.conda\pkgs

或者设置自动第三方源
conda config --set custom_channels.auto https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
conda config --set:设置Conda配置项
custom_channels.auto:为名为auto的第三方源设置镜像地址
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/  清华镜像站的Anaconda Cloud镜像

使用下列命令清除索引缓存,并安装常用包测试一下。

yaml 复制代码
conda clean -i
conda create -n myenv numpy

清除索引缓存

删除本地保存的频道索引数据(repodata.json等)

强制下次安装时重新从镜像源获取最新包列表

解决"换了配置但还走旧源"的问题

如果还看到defaults或pkgs/main

说明配置未生效,检查:

yaml 复制代码
conda config --show channels
conda config --show-sources

查看是否修改成功

相关推荐
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月11日
大数据·人工智能·python·信息可视化·自然语言处理·ai编程
XiaoQiao6669992 小时前
pytnon中正则表达式小题详解
python·正则表达式
好家伙VCC2 小时前
**基于Colab的高效Python深度学习开发流程:从环境配置到模型部署全流程实战**在当前人工智
java·开发语言·python·深度学习
Lucas_coding2 小时前
【python_并发】requests vs aiohttp vs httpx:HTTP客户端深度对比与实战
python
gCode Teacher 格码致知2 小时前
Python基础教学:正则表达式中的忽略大小写以及符号“-“的问题-由Deepseek产生
python·正则表达式
斯班奇的好朋友阿法法2 小时前
Django 项目打包部署完整指南(适配你的项目,零报错)
python·django·sqlite
林开落L2 小时前
【项目实战】博客系统完整测试报告(含自动化+性能测试)
python·功能测试·jmeter·自动化·postman·性能测试·xmind
JustNow_Man2 小时前
【opencode】使用方法
linux·服务器·网络·人工智能·python
abigale032 小时前
.py 与 .ipynb 的核心差异 + Jupyter 内核缓存坑全解析
python·jupyter