[python]conda工具(介绍+使用)

229 阅读7分钟

只有安装了 Anaconda、Miniconda 或 Miniforge 这类基于 Conda 的发行版,系统中才会有 conda 这个命令行工具

一/conda工具的介绍

1. Conda 的来源

发行版说明
Anaconda完整版的数据科学平台,包含conda+Python+预装1500+科学计算包(体积较大)
Miniconda精简版的数据科学平台,仅包含conda+Python+核心依赖(体积小,推荐)
Miniforge社区版,默认使用 conda-forge 包源(无商业限制)

共同点: 这些发行版都会安装 conda 可执行文件(通常位于 ~/miniconda3/bin/conda 或类似路径)。

2. 其他情况不会有 conda

  • 原生 Python 安装
    python.org 直接下载安装的 Python 不会包含 conda

  • 系统自带 Python
    Linux/macOS 系统自带的 Python 不会包含 conda

    (系统自带的python, 通常位于/usr/bin目录下)

  • 仅使用 venv/virtualenv
    通过 python -m venv .venv 创建的虚拟环境 不会 生成 conda 命令。

3. 为什么你会看到 (base)

如果终端提示符中有 (base),说明:

  1. 你的系统安装了 Anaconda/Miniconda
  2. Conda 被配置为自动激活 base 环境(通过修改 Shell 配置文件实现)
# 验证 Conda 是否安装
which conda       # 查看 conda 路径
conda --version   # 查看 conda 版本

4. 不需要 Conda 时的解决方案

场景:想用原生 Python 虚拟环境(venv),但不想看到 (base)

# 永久禁用 Conda 自动激活 base
conda config --set auto_activate_base false

# 临时退出当前 base 环境
conda deactivate

场景:想完全移除 Conda

  1. 卸载 Anaconda/Miniconda:
    rm -rf ~/miniconda3  # 默认安装路径
    
  2. 切记, 别忘了清理 Shell 配置文件(如 ~/.bashrc)中的 Conda 初始化代码:
    nano ~/.bashrc  # 删除 conda init 相关段落
    

5. conda 查看config中某个变量的值

conda中,你可以通过多种方式查看配置文件(.condarc)中某个变量的值。

.condarc是anaconda, miniconda等这些基于 Conda 的发行版的配置文件

conda配置文件通常位于用户的主目录下,名为.condarc

以下是一些常见的方法来查看或修改conda配置文件中的变量值:

1. 查看所有配置变量(--show)

要查看所有的conda配置变量及其值,你可以使用以下命令:

conda config --show

这会列出所有的配置项及其当前值。

2. 查看特定配置变量的值(--show)

如果你只想查看某个特定配置变量的值,可以使用以下命令:

conda config --show <variable_name>

<variable_name>替换为你想要查询的配置变量名。

例如,要查看auto_activate_base配置的值,可以使用:

conda config --show auto_activate_base

3. 直接编辑.condarc文件

你也可以直接编辑.condarc文件来查看或修改配置。这个文件通常位于你的用户目录下(例如,在Linux或macOS上是~/.condarc,在Windows上是%USERPROFILE%.condarc)。你可以使用文本编辑器打开它,例如使用命令行:

nano ~/.condarc  # Linux/macOS
notepad %USERPROFILE%.condarc  # Windows

这将打开文件,你可以查看或编辑其中的内容。

4. 设置.condarc文件中的变量(--set)

conda config --set auto_activate_base true

5. 使用conda config --get 亲测: 该方法在macos电脑的终端不可用

另一种获取特定配置项值的方法是使用:

conda config --get <variable_name>

这和直接查看所有配置然后搜索特定项相比,更直接一些。例如:

conda config --get channels

6. 总结

以上方法可以帮助你查看conda配置文件中的变量值。选择最适合你的情况的方法来访问这些配置信息。如果你需要修改这些值,可以使用conda config --set <variable_name> <value>命令来设置新的值。例如:

conda config --set channels defaults

这将设置channels的值为defaults


7. 虚拟环境方案对比

工具命令环境提示符管理工具来源
Condaconda create(base)Anaconda/Miniconda
venvpython -m venv(.venv)Python 标准库
virtualenvvirtualenv .venv(.venv)PyPI 安装

8. 总结

conda 的存在证明你安装了 Anaconda/Miniconda
(base) 是 Conda 的默认环境提示符
✅ 可通过 conda config --set auto_activate_base false 消除 (base)
✅ 纯 Python 项目推荐使用标准库的 venv(无需 Conda)





2/conda工具的使用

<1>创建虚拟环境

conda create --name py3.6   python=3.6

<2>删除虚拟环境

conda remove --name py3.6  --all

<3>环境的激活和退出

conda activate py3.6  # 激活虚拟环境, 相当于进入到这个虚拟环境
conda deactivate      # 退出当前所在的虚拟环境

<4>查看所有环境(包括base环境, 以及后来通过conda工具安装的其他环境)

conda env list

<5>包的管理

# 安装numpy模块(默认是从conda频道安装)
conda install numpy

# 安装akshare模块(指定了从conda-forge频道安装,因为akshare不在默认的conda频道中。)
# conda频道, 类似pip的pypi
conda install -c conda-forge akshare

# 查看已经安装的模块
conda list

# 搜索模块信息
conda search numpy

# 删除模块
conda remove numpy

# 更新模块
conda update numpy

# 更新全部模块:
conda update --all

# 更新conda
conda update conda

# 更新python
conda update python

<6>解决conda install xxx速度慢的问题

使用conda安装包往往很慢,需要设置conda的国内源, 在.condarc文件中, 修改channels 也可以使用如下命令添加源; conda config --add channels 'mirrors.tuna.tsinghua.edu.cn/anaconda/pk…'

查看设置的源 conda --show channels 也可以使用conda info查看基本信息

6/我在电脑上安装了anaconda, 我又通过conda工具安装了一个虚拟的环境, 那么这2个环境是共用的一个conda工具吗?还是每个环境都有自己独有的conda工具?如果我通过conda install命令安装某个库, 那么是安装在哪一个环境中了.

你的理解方向是对的,这确实涉及Anaconda的核心工作原理。简单来说,你的电脑上只有一套conda工具,由它来管理所有环境。当你用conda install安装库时,库会被安装到当前激活的虚拟环境中,而不是到处乱装

为了让你更清楚地理解,我将核心要点整理成下表:

核心问题答案
conda工具是共享的吗?是。整个电脑上只有一套Anaconda或Miniconda安装,自带唯一的conda命令来统一管理所有环境。
每个环境是否独立?是。每个虚拟环境(包括base基础环境)都是完全隔离的,拥有自己的Python解释器、包目录和配置文件。
conda install装在哪?当前激活的环境中。这是使用conda最关键的规则。你在哪一个环境通过conda install xxx, 那么它就安装在哪一个环境, 对其他的环境(包括base环境)是没有任何影响的.

7 如何确认和管理环境

确保库装对地方,关键在于确认你当前在哪个环境下操作。

  1. 查看当前环境:打开终端(或Anaconda Prompt),命令行的最前面通常会用括号()标出当前环境名。例如,(base)表示你在基础环境中。你随时可以运行 conda env list 来查看所有环境列表,并用*号识别当前激活的是哪一个。

  2. 切换环境:要进入一个虚拟环境(例如名为myenv的环境),使用命令 conda activate myenv。之后所有的conda install操作都会仅作用于这个环境。完成工作后,可以用 conda deactivate 退出当前环境。

8 环境与包的物理位置

从文件系统的角度看,这种结构是这样的:

  • Anaconda主目录:例如~/anaconda3C:\Anaconda3。这是conda工具本身和base基础环境所在的位置。
  • 虚拟环境目录:所有虚拟环境都存放在主目录下的envs文件夹里。例如,一个叫myenv的环境,其完整路径通常是~/anaconda3/envs/myenv
  • 包安装位置:在虚拟环境中用conda install安装的包,会被放在该环境自己的目录下(如envs/myenv/lib/python3.x/site-packages/),从而实现与环境外的完全隔离。

9 最佳实践建议

一个公认的最佳实践是:尽量不要在base环境中安装额外的库,而应为不同的项目创建独立的虚拟环境。这样做可以避免因为包版本冲突而导致base环境崩溃,保持系统稳定。

如果你想了解如何创建新的虚拟环境、将特定环境导出为配置文件与他人共享,或者遇到环境激活不成功等问题,我可以为你提供更具体的指导。