管理包#

注意

此页面上描述的命令有许多可用选项。有关详细信息,请参阅命令

搜索包#

使用终端进行以下步骤。

查看是否可以安装特定包,例如 SciPy

conda search scipy

查看是否可以从 Anaconda.org 安装特定包,例如 SciPy

conda search --override-channels --channel defaults scipy

查看特定通道(例如 http://conda.anaconda.org/mutirri)中是否存在特定包(例如 iminuit)并且可以安装

conda search --override-channels --channel http://conda.anaconda.org/mutirri iminuit

安装包#

使用终端进行以下步骤。

将特定包(例如 SciPy)安装到现有环境“myenv”中

conda install --name myenv scipy

如果您未指定环境名称(在此示例中通过 --name myenv 完成),则该包将安装到当前环境中

conda install scipy

安装特定版本的包,例如 SciPy

conda install scipy=0.15.0

一次安装多个包,例如 SciPy 和 cURL

conda install scipy curl

注意

最好一次安装所有包,以便同时安装所有依赖项。

一次安装多个包并指定包的版本

conda install scipy=0.15.0 curl=7.26.0

为特定 Python 版本安装包

conda install scipy=0.15.0 curl=7.26.0 -n py34_env

如果您想使用特定的 Python 版本,最好使用具有该版本的环境。有关更多信息,请参阅故障排除

安装类似的包#

安装具有相似文件名和相似用途的包可能会返回意外结果。最后安装的包可能会决定结果,这可能是不希望的。如果两个包具有不同的名称,或者如果您正在构建包的变体并且需要对齐堆栈中的其他软件,我们建议使用互斥元包

从 Anaconda.org 安装包#

无法使用 conda install 获取的包可以从 Anaconda.org 获得,Anaconda.org 是一个用于公共和私有包仓库的包管理服务。Anaconda.org 是 Anaconda 产品,就像 Anaconda 和 Miniconda 一样。

从 Anaconda.org 安装包

  1. 在浏览器中,转到 http://anaconda.org

  2. 要查找名为 bottleneck 的包,请在左上角名为“搜索包”的框中键入 bottleneck

  3. 找到您想要的包,然后单击它以转到详细信息页面。

    详细信息页面显示通道的名称。在此示例中,它是“pandas”通道。

  4. 现在您知道了通道名称,请使用 conda install 命令来安装该包。在您的终端窗口中,运行

    conda install -c pandas bottleneck
    

    此命令告诉 conda 从 Anaconda.org 上的 pandas 通道安装 bottleneck 包。

  5. 要检查包是否已安装,请在终端窗口中运行

    conda list
    

    将显示包列表,包括 bottleneck。

注意

有关从多个通道安装包的信息,请参阅管理通道

安装非 conda 包#

如果某个包无法从 conda 或 Anaconda.org 获得,您或许可以通过 conda-forge 或其他包管理器(如 pip)找到并安装该包。

Pip 包不具备 conda 包的所有功能,我们建议首先尝试使用 conda 安装任何包。如果该包无法通过 conda 获得,请尝试使用 conda-forge 查找并安装它。

如果您仍然无法安装该包,您可以尝试使用 pip 安装它。pip 和 conda 包之间的差异导致某些不可避免的兼容性限制,但 conda 努力尽可能与 pip 兼容。

注意

Anaconda 和 Miniconda 中都包含 pip 和 conda,因此您无需单独安装它们。

Conda 环境取代了 virtualenv,因此在使用 pip 之前无需激活 virtualenv。

可以在 conda 环境外部或 conda 环境内部安装 pip。

为了获得 conda 集成的好处,请务必在当前活动的 conda 环境中安装 pip,然后使用该 pip 实例安装包。命令 conda list 显示以这种方式安装的包,并带有标签,表明它们是使用 pip 安装的。

您可以使用命令 conda install pip 在当前 conda 环境中安装 pip,如在环境中使用 pip中所述。

如果当前 conda 环境内外都安装了 pip 实例,则使用当前 conda 环境内部安装的 pip 实例。

安装非 conda 包

  1. 激活您要放置程序的环境

    • 在您的终端窗口中,运行 conda activate myenv

  2. 要使用 pip 安装程序(例如 See),请在终端窗口中运行

    pip install see
    
  3. 要验证包是否已安装,请在终端窗口中运行

    conda list
    

    如果未显示该包,请按照在环境中使用 pip中的描述安装 pip,然后重试这些命令。

安装商业包#

安装商业包(例如 IOPro)与安装任何其他包相同。在您的终端窗口中,运行

conda install --name myenv iopro

此命令安装 Anaconda 商业包 IOPro 的免费试用版,它可以加快您的 Python 处理速度。除了学术用途外,此免费试用版在 30 天后到期。

查看已安装包的列表#

使用终端进行以下步骤。

列出活动环境中所有包

conda list

列出已停用环境中所有包

conda list -n myenv

列出包依赖项#

要查找环境中哪些包依赖于特定包,没有一个特定的 conda 命令。它需要一系列步骤

  1. 列出特定包运行所需的依赖项:conda search package_name --info

  2. 查找您的安装的包缓存目录:conda info

  3. 查找包依赖项。默认情况下,Anaconda/Miniconda 将包存储在 ~/anaconda/pkgs/(或 macOS Catalina 上的 ~/opt/pkgs/)中。每个包都有一个 index.json 文件,其中列出了包的依赖项。此文件位于 ~anaconda/pkgs/package_name/info/index.json 中。

  4. 现在您可以找到哪些包依赖于特定包。使用 grep 搜索所有 index.json 文件,如下所示:grep package_name ~/anaconda/pkgs/*/info/index.json

结果将是包含 <package_name> 的任何内容的完整包路径和版本。

示例:grep numpy ~/anaconda3/pkgs/*/info/index.json

来自上述命令的输出

/Users/testuser/anaconda3/pkgs/anaconda-4.3.0-np111py36_0/info/index.json: numpy 1.11.3 py36_0
/Users/testuser/anaconda3/pkgs/anaconda-4.3.0-np111py36_0/info/index.json: numpydoc 0.6.0 py36_0
/Users/testuser/anaconda3/pkgs/anaconda-4.3.0-np111py36_0/info/index.json: numpy 1.11.3 py36_0

请注意,这也返回了“numpydoc”,因为它包含字符串“numpy”。要获得更具体的结果集,您可以添加 < 和 >。

更新包#

使用 conda update 命令检查是否有新的更新可用。如果 conda 告诉您有更新可用,您可以选择是否安装它。

使用终端进行以下步骤。

  • 更新特定包

    conda update biopython
    
  • 更新 Python

    conda update python
    
  • 更新 conda 本身

    conda update conda
    

注意

Conda 更新到其系列中的最高版本,因此 Python 3.9 更新到 3.x 系列中可用的最高版本。

更新 Anaconda 元包

conda update conda
conda update anaconda

无论您更新哪个包,conda 都会比较版本,然后报告可安装的内容。如果没有可用的更新,conda 会报告“所有请求的包都已安装。”

如果有较新版本的包可用,并且您希望更新它,请键入 y 进行更新

Proceed ([y]/n)? y

阻止包更新(固定)#

在环境中固定包规范可以防止更新 pinned 文件中列出的包。

在环境的 conda-meta 目录中,添加一个名为 pinned 的文件,其中包含您不想更新的包列表。

示例:以下文件强制 NumPy 保持在 1.7 系列上,即任何以 1.7 开头的版本。这也强制 SciPy 保持在版本 0.14.2

numpy 1.7.*
scipy ==0.14.2

使用此 pinned 文件,conda update numpy 会将 NumPy 保持在 1.7.1,并且 conda install scipy=0.15.0 会导致错误。

使用 --no-pin 标志来覆盖包的更新限制。在终端中,运行

conda update numpy --no-pin

由于 pinned 规范包含在每个 conda 安装中,因此后续不带 --no-pinconda update 命令会将 NumPy 恢复为 1.7 系列。

自动将默认包添加到新环境#

自动将默认包添加到您创建的每个新环境

  1. 打开终端窗口并运行:conda config --add create_default_packages PACKAGENAME1 PACKAGENAME2

  2. 现在,您可以创建新环境,默认包将安装在所有环境中。

您还可以编辑 .condarc 文件,其中包含默认创建的包列表。

您可以使用 --no-default-packages 标志在命令提示符下覆盖此选项。

删除包#

使用终端进行以下步骤。

  • 删除环境(例如 myenv)中的包(例如 SciPy)

    conda remove -n myenv scipy
    
  • 删除当前环境中的包(例如 SciPy)

    conda remove scipy
    
  • 一次删除多个包,例如 SciPy 和 cURL

    conda remove scipy curl
    
  • 确认包已删除

    conda list