1. 详解.condarc文件
1.1 win环境下必须解锁.condarc权限
务必勾选anaconda3安装文件的整个 完全控制 和 修改 权限,要不然后面的修改起不到作用

1.2 文件.conda1.3rc位置
默认安装aconda软件所在位置,我的安装在D盘所以文件位置

1.3 文件配置内容
XML
channels:
- defaults
show_channel_urls: true
channel_alias: https://anaconda.mirrors.sjtug.sjtu.edu.cn/
default_channels:
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/main
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/free
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/mro
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/msys2
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/pro
- https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/r
custom_channels:
conda-forge: https://anaconda.mirrors.sjtug.sjtu.edu.cn/conda-forge
soumith: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/soumith
bioconda: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/bioconda
menpo: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/menpo
viscid-hub: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/viscid-hub
atztogo: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/atztogo
envs_dirs:
- D:\Anaconda3\envs
pkgs_dirs:
- D:\Anaconda3\pkgs
ssl_verify: false
1.3.1 channels:
channels: 指定了conda搜索包的默认通道列表。在这个配置中,只有一个默认的通道列表项defaults,但实际上通过default_channels和custom_channels进一步细化了。
有url和非url之分:
url:自定义的搜索地址,如前面的https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
非url: Anaconda.org 用户或组织名称,如conda-forge对应着https://conda.anaconda.org中的conda-forge。
bash
channels:
- conda-forge
- http://Code_LT
- defaults
则conda搜索pandas
包的时候就会按conda-forge->http://Code_LT->defaults
的顺序搜索。
如果不修改
.condarc
文件,conda会默认从这两类channel中搜索需要的包:默认channel:对应
repo.anaconda.com
仓,硬编码写死了对应如下三个仓库
bashhttps://repo.anaconda.com/pkgs/main https://repo.anaconda.com/pkgs/r https://repo.anaconda.com/pkgs/msys2
1.3.2 show_channel_urls
设置为true意味着conda在输出信息时会显示通道(即仓库)的URL。这有助于用户理解conda正在从哪里下载包。
1.3.3 default_channels
default_channels: 指定了conda的默认通道列表
1.3.4 Custom Channels
custom_channels: 用户可以根据需要添加自定义的通道。
1.3.5 清除索引缓存
使用下列命令清除索引缓存,并安装常用包测试一下。
bash
conda clean -i
conda create -n myenv numpy
1.4 官方文档配置说明
1.4.1 anaconda安装包说明
- Anaconda 在默认情况下会安装到 C:\ProgramData\Anaconda3
- conda 环境和包会安装在 C:\Users\username\.conda\ 目录下
- 在这两个目录下都有一个 pkgs 文件夹,但是它们存储的内容是不同的C:\ProgramData\Anaconda3\pkgs 存储的是 Anaconda 自身的安装包
- C:\Users\username\.conda\pkgs 存储的是用户创建的 conda 环境以及在这些环境中安装的包
- 如果你想要查看 Anaconda 自身的安装包,应该去 C:\ProgramData\Anaconda3\pkgs
- 如果你想要查看用户创建的 conda 环境以及在这些环境中安装的包,应该去C:\Users\username\.conda\pkgs。
- 当你使用 conda 命令来管理包和环境时,默认情况下会使用 C:\Users\username\.conda\pkgs 目录下的包来安装依赖项。
官网说明
1.4.2 目录结构
1.4.3 官方解释.condarc文件
1.4.4 官方channel配置说明
2. 虚拟环境和包安装位置
2.1 conda包管理的3处目录
- "anaconda安装的位置/pkgs "目录
conda install xxx
:这种方式安装的库都会放在anaconda安装的位置/pkgs
目录下,这样的好处就是,当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。该目录是用户指定update或install时由 Conda 下载并提取的包,都是解压后的包,可以在 conda 环境中通过link关联。
- "anaconda安装的位置\envs\虚拟环境\Lib\site-packages "目录
则是启用虚拟环境后import时导入包的地方。它们来自 "anaconda安装的位置/pkgs"目录。
- "anaconda安装的位置/Lib/site-packages "目录
是base环境的路径
2.2 配置虚拟环境和包路径
envs_dirs:
- Anaconda安装根目录\envs
pkgs_dirs:
- Anaconda安装根目录\envs
XML
envs_dirs:
- D:\DevToolsSDKRepository\anaconda3\envs
pkgs_dirs:
- D:\DevToolsSDKRepository\anaconda3\pkgs
2.3 虚拟环境命令
2.3.1 创建与激活环境
bash
# 创建名为 xxxxx 的隔离环境,指定 Python 3.10
conda create -n xxx python=3.10 -y
# 激活 / 退出
conda activate xxxx
conda deactivate
# 查看已存在的全部环境
conda env list
#克隆oldname环境为newname环境
conda create --name newname --clone oldname
conda list #查看已经安装的文件包
conda list -n xxx #指定查看xxx虚拟环境下安装的package
conda update xxx #更新xxx文件包
conda uninstall xxx #卸载xxx文件包
2.3.2 环境导出、备份、删除
bash
# 仅导出"显式安装"的包(推荐,可读性高)
conda env export --from-history > env_min.yml
# 导出完整依赖树(含间接依赖)
conda env export > env_full.yml
# 删除不再需要的环境 加上-y 删除过程中不需要人工确认
conda remove -n xxxx --all -y
# 删除xxxx虚拟环境,删除过程中会要求人工确认
conda remove -n xxxx --all
2.3.3 虚拟环境重命名
如果是当前激活状态的虚拟环境,需要退出当前激活环境
bash
conda rename -n 旧环境名 -d 新环境名
2.3.4 克隆clone一个虚拟环境
bash
conda create --name new_env --clone old_env
3. 镜像源配置
可以通过命令或者直接修改文件方式
3.1 通过命令配置和删除
- 先查看当前conda配置
bash
# 查看当前conda配置
conda config --show channels
命令行结果:
bash
(base) C:\Users\yilvq>conda config --show channels
channels:
- defaults
- 增加channel镜像源------清华源
清华源anaconda路径:anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
参考以上官方文档即可
bash
# 增加channel
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
更多镜像源参考文章
bash
conda config --remove channels https://mirror.example.com
3.2 通过修改文件添加(推荐)
直接修改.condarc
文件是最方便的。
bash
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
ssl_verify: false
envs_dirs:
- D:\DevToolsSDKRepository\anaconda3\envs
pkgs_dirs:
- D:\DevToolsSDKRepository\anaconda3\pkgs
2025年7月1日 目测清华源失败,更新到了南科大
bash
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.sustech.edu.cn/anaconda/pkgs/main
- https://mirrors.sustech.edu.cn/anaconda/pkgs/free
- https://mirrors.sustech.edu.cn/anaconda/pkgs/r
- https://mirrors.sustech.edu.cn/anaconda/pkgs/pro
- https://mirrors.sustech.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.sustech.edu.cn/anaconda/cloud
msys2: https://mirrors.sustech.edu.cn/anaconda/cloud
bioconda: https://mirrors.sustech.edu.cn/anaconda/cloud
menpo: https://mirrors.sustech.edu.cn/anaconda/cloud
pytorch: https://mirrors.sustech.edu.cn/anaconda/cloud
simpleitk: https://mirrors.sustech.edu.cn/anaconda/cloud
nvidia: https://mirrors.sustech.edu.cn/anaconda-extra/cloud
ssl_verify: false
envs_dirs:
- D:\DevToolsSDKRepository\anaconda3\envs
pkgs_dirs:
- D:\DevToolsSDKRepository\anaconda3\pkgs
3.3 配置镜像源访问出现如下错误
Solving environment: done
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch/repodata.json\>
Elapsed: -
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
SSLError(MaxRetryError('HTTPSConnectionPool(host=\'mirrors.tuna.tsinghua.edu.cn\', port=443): Max retries exceeded with url: /anaconda/cloud/conda-forge/noarch/repodata.json (Caused by SSLError(SSLError("bad handshake: Error([(\'SSL routines\', \'ssl3_get_server_certificate\', \'certificate verify failed\')])")))'))

在文件~/.condarc末尾添加一行ssl_verify: false
4. conda安装包位置
4.1 Conda 安装requirements.txt
文件
方法 1:直接使用 pip
在 Conda 环境中安装
conda创建虚拟环境的时候 ,如果指定了python版本,pip自动安装,如果没有安装可以通过 conda install pip 命令安装。
bash
# 激活你的 Conda 环境。
conda activate your_env_name
# 使用 pip 安装 requirements.txt 里的所有依赖。
pip install -r requirements.txt
方法 2:在创建 Conda 环境时自动安装
你可以在 创建 Conda 环境 时,直接使用 --file
选项:
bash
# 但 requirements.txt 是 pip 格式,所以如果里面包含 pip-only 包,Conda 可能无法正确解析。
conda create --name your_env_name --file requirements.txt
如果已经创建了虚拟环境,激活环境后,通过更新方式。更新依赖包
bash
conda env update -f environment.yml --prune
方法 3:使用 conda
和 pip
分开安装
有些包 Conda 自带,可以用 conda
安装,而 pip
只能安装 Conda 没有的包:
bash
conda create --name your_env_name python=3.8 # 创建环境
conda activate your_env_name
conda install --yes --file requirements.txt || pip install -r requirements.txt
这样 Conda 先安装能找到的包,再由 pip 处理剩下的包。
方法 4:确保 Conda 中的 pip 版本
有时 Conda 自带的 pip
版本过旧,建议更新:
bash
conda install pip
pip install --upgrade pip
pip install -r requirements.txt
这样可以避免由于 pip
版本问题导致的安装失败。
方法 5:在 environment.yml
文件中引入 requirements.txt
如果你想用 conda env create
直接管理 pip 依赖,可以在 environment.yml
里这样写
bash
name: my_env
dependencies:
- python=3.8
- pip
- pip:
- -r requirements.txt
然后执行:
bash
conda env create -f environment.yml
4.2 conda install和pip install的区别
方面 | conda install | pip install |
---|---|---|
包来源 | 从 Anaconda 仓库(如 defaults 或 conda-forge)下载 | 从 PyPI(Python Package Index)下载 |
包类型 | 不仅包括 Python 包,还包括非 Python 的依赖项(如 C/C++ 库、系统工具) | 只处理 Python 包,不能很好地解决 C/C++ 等非 Python 依赖 |
依赖管理 | 更加严谨,能自动处理复杂依赖、版本冲突更少 | 安装速度快但可能会引起依赖冲突 |
性能与稳定性 | 更适合数据科学、科学计算等需要依赖原生库的环境 | 更灵活,适合安装最新或冷门的 Python 库 |
👉 建议顺序:
优先使用 conda install 安装能找到的包,剩下找不到的再用 pip install。
4.3 conda install和pip install的存储位置的基本区别
4.3.1 安装位置受虚拟环境限制
无论你使用 conda install
还是 pip install
,只要你已经激活了某个 conda 虚拟环境,这些包都只会被安装到这个虚拟环境中,不会影响全局 Python 或其他 conda 环境。
可以验证当前环境:
bash
conda info --envs
当前激活的环境前会有 *
,比如:

4.3.2 差异
conda install | pip install | |
---|---|---|
安装机制不同 | * 先将包下载到pkgs 目录(作为缓存) * 然后在特定环境的site-packages中创建硬链接(hard link) * 保持中央化的包管理 |
* 直接安装到环境的site-packages目录 * 完全独立于conda的包管理系统 * 不会使用conda的pkgs缓存 |
安装包路径不同 | # conda安装的numpy ~/anaconda3/envs/myenv/lib/python3.8/site-packages/numpy/ # 硬链接 ~/anaconda3/pkgs/numpy-1.21.2-py38hdbf815f_0/lib/python3.8/site-packages/numpy/ # 原始 | # pip安装的requests ~/anaconda3/envs/myenv/lib/python3.8/site-packages/requests/ # 实际文件 |
这种差异带来的问题
- 依赖冲突:两个系统互相不知道对方安装了什么
- 卸载不彻底:用conda安装后用pip卸载可能残留文件
- 环境混乱:可能导致Python解释器加载错误的包版本
4.3.3 检查包安装来源
bash
# 查看conda安装的包
conda list
# 查看pip安装的包
pip list
# 查看某个特定包的安装来源
conda list | grep numpy
pip show numpy
最佳实践建议
避免混合安装同一包:例如不要用conda安装numpy后又用pip安装不同版本
了解安装来源:在安装前先用conda search检查是否可用conda安装
统一卸载:如果用conda安装后用pip卸载,最好再用conda彻底清理
检查冲突:定期使用conda list和pip list比较已安装包