Conda 基础使用指南:Anaconda安装与环境管理

2025 年 5 月 11 日 星期日(已编辑)
/
7

Conda 基础使用指南:Anaconda安装与环境管理

同学们好!在使用 Python 进行开发时,你是否曾被各种库的版本依赖问题搞得焦头烂额?这个项目需要 Python 3.7 和旧版 TensorFlow,那个项目却需要 Python 3.9 和最新版 PyTorch?不同项目的环境可能产生冲突,引发未知问题。手动管理这些依赖简直是一场噩梦。

别担心,今天我们就来认识一个强大的工具——Conda。Conda 是一个开源的包管理和环境管理系统,它能帮助你轻松创建、保存、加载和切换不同的“环境”,让每个项目都拥有自己独立的依赖集合,彻底告别“依赖地狱”!

本文将带你走过 Conda 在 macOS 上的基础使用流程,重点介绍通过下载 Anaconda 安装包的方式进行安装,并涵盖理解和管理 base 环境、创建和使用虚拟环境,以及一些实用小技巧。

第一步:在 macOS 上下载并安装 Anaconda

Anaconda 是一个包含了 Conda、Python 以及众多常用科学计算和数据分析库的发行版。对于初学者或需要大量预装库的用户来说,安装完整的 Anaconda 是一个方便的选择。

  1. 下载安装包: 访问 Anaconda 官方下载成功页面:https://www.anaconda.com/download/success。在这个页面,你可以找到适用于 macOS 的图形界面安装程序(.pkg 文件)。选择适合你 macOS 版本的安装包进行下载。

    036081ebc3240b0d6010f5cd3ab3b746_720

    036081ebc3240b0d6010f5cd3ab3b746_720
  2. 运行安装程序: 找到下载好的 .pkg 文件,双击运行它。这将启动 Anaconda 的图形界面安装向导。一步一步即可完成安装。

第二步:认识 base 环境和那个恼人的 (base) 提示

安装并重启终端后,你可能会注意到终端提示符前面多了一个 (base) 字样。这表明你当前正处于 Conda 的 base 环境中。如下图所示:

2f5af571fc4ea9dc637f9ace910b9c16

2f5af571fc4ea9dc637f9ace910b9c16
  • 什么是 base 环境? 它是 Conda 安装时创建的默认环境,包含了 Conda 自身运行所需的各种组件以及你安装时指定的 Python 版本。由于你安装的是完整的 Anaconda,base 环境中还预装了大量的科学计算和数据分析库,比如 NumPy, pandas, SciPy, scikit-learn 等。可以理解为 Conda 的“根”环境。
  • 为什么会有 (base) 提示? 这是 conda init 命令帮你做的设置,它让 Conda 在你每次打开终端时自动激活 base 环境,这样你就可以直接使用 conda 命令了。

【重点!】不建议在 base 环境中进行项目开发和安装项目依赖!

尽管 Anaconda 的 base 环境预装了很多有用的包,但为了避免不同项目之间的依赖冲突,以及保持环境的可重现性,强烈建议你为每个具体的项目创建独立的虚拟环境。将 base 环境视为一个管理 Conda 和创建其他环境的起点即可。

第三步:关闭烦人的 (base) 提示(以及取消自动激活)

如果你觉得终端前面总是显示 (base) 很碍眼,并且希望只在需要时手动激活环境,可以取消 Conda 的自动激活 base 环境设置。

在终端中运行以下命令:

conda config --set auto_activate_base false

执行完成后,关闭并重新打开终端。你会发现 (base) 提示消失了。现在,你需要手动激活任何你想使用的 Conda 环境。

第四步:创建和管理你的虚拟环境

现在,我们来学习如何创建用于具体项目的虚拟环境。

  1. 查看所有环境: 在创建之前,可以先看看当前有哪些环境(初始应该有一个 base):

    conda env list
    # 或
    conda info --envs
  2. 创建一个新的虚拟环境: 使用 conda create 命令,-n 参数后面是环境的名称,你可以随意命名(建议使用与项目相关的名称)。

    conda create -n my_project_env

    这个命令会创建一个空环境,包含最基本的 Conda 组件和默认的 Python 版本(通常是安装 Anaconda 时自带的 Python 版本)。

  3. 创建环境并指定 Python 版本: 在实际开发中,你经常需要指定项目使用的 Python 版本:

    conda create -n my_project_env python=3.9

    这会创建一个名为 my_project_env 的环境,并在其中安装 Python 3.9。

  4. 创建环境并安装初始包 (包括 pip 小技巧!): 你可以在创建环境的同时安装一些必需的包,包括 pip!这样就省去了激活环境后再安装 pip 的步骤。

    conda create -n my_project_env python=3.9 numpy pandas pip

    这个命令会创建一个使用 Python 3.9 的环境,并安装 numpy, pandas, 以及 pip 包。这样创建出来的环境,激活后就可以直接使用 pip install 了。

  5. 复制(克隆)现有环境: 如果你希望基于一个现有环境(比如 base 环境,或者你之前配置好的某个环境)来创建一个新环境,并继承其中所有的包,可以使用 --clone 参数:

    conda create -n new_env_name --clone existing_env_name

    例如,要复制 base 环境来创建一个名为 my_base_copy 的新环境:

    conda create -n my_base_copy --clone base

    这个命令会创建一个 my_base_copy 环境,其中包含了 base 环境中所有已安装的包。这在你想要基于一个已有的环境快速启动新项目时非常方便。但请记住,即使是复制 base 环境,我们仍然建议在这个新环境中进行项目开发,而不是直接在原始的 base 环境中。

  6. 激活(进入)虚拟环境: 要开始在某个环境工作,需要先激活它:

    conda activate my_project_env

    如果之前关闭了自动激活 base,终端提示符会从普通状态变成显示 (my_project_env),表示你已进入该环境。如果之前没关自动激活,可能会从 (base) 变成 (my_project_env)

  7. 在环境中安装包: 激活环境后,你就可以使用 conda installpip install 在当前环境中安装项目所需的包了。

    • 优先使用 conda install Conda 会检查环境中的所有包依赖,更好地避免冲突,并且可以安装非 Python 的依赖。

      conda install tensorflow
    • 使用 pip install 当需要的包在 Conda 仓库中没有,或者你需要 PyPI 上的特定版本时,可以使用 pip(前提是环境中已经安装了 pip):

      pip install some-package-from-pypi
    • 查看环境中的包:

      conda list
  8. 退出虚拟环境: 完成工作后,可以退出当前环境,回到之前的环境(或者回到没有环境激活的状态):

    conda deactivate
  9. 删除虚拟环境: 如果某个项目完成了,不再需要其环境,可以将其删除:

    conda remove -n my_project_env --all

    注意: 这个操作会删除环境及其内部安装的所有包,请谨慎操作。

第五步:再次强调:虚拟环境与 base 环境的关系

理解这一点非常重要:

  • 当你使用 conda create -n new_env ... 创建一个新环境时,这个新环境是一个独立的、相对干净的环境。
  • 不会自动继承 base 环境中已经安装的第三方包。即使 Anaconda 的 base 环境预装了很多包,新环境也只会包含你明确指定的 Python 版本和创建时指定的包。
  • 你需要在新环境中显式地安装所需的 Python 版本和所有库。

这种隔离性是 Conda 解决依赖冲突的关键。保持 base 环境的纯净(或者只用于一些通用的、不常变动的工具),只在独立的虚拟环境中安装项目依赖,是使用 Conda 的黄金法则。

总结与最佳实践

  • 使用 Conda 管理你的 Python 环境,避免依赖冲突。
  • 通过下载 Anaconda PKG 包在 macOS 上进行安装是一个方便的选择。
  • 理解 base 环境是 Conda 的基础,但不要在其中进行项目开发。
  • 使用 conda config --set auto_activate_base false 关闭烦人的 (base) 自动激活。
  • 为每个项目创建独立的虚拟环境:
    • 从头创建:conda create -n project_name python=x.x package1 package2 ... pip
    • 克隆现有环境:conda create -n new_env_name --clone existing_env_name
  • 使用 conda activate your_env 进入环境,conda deactivate 退出。
  • 在激活的环境中使用 conda installpip install 安装包。
  • 记住:从头创建的新环境默认是干净的,不继承 base 的包;而克隆的环境会完全复制源环境的包。

掌握了这些基础,你就已经迈出了使用 Conda 进行高效、清晰的 Python 开发的第一步。现在,去为你的下一个项目创建一个专属的 Conda 环境吧!

有什么问题或心得,欢迎在评论区交流!

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...