构建 Anaconda Navigator 应用程序#

在本教程中,您将学习如何向 Anaconda Navigator 添加用于启动自定义应用程序的磁贴。

使用 JupyterLab 源作为基础,您将对构建配方中的文件进行修改,以将包声明为 Navigator 的应用程序,然后重新构建它并将其上传到 Anaconda.org 通道。然后,我们将在 Navigator 中添加频道,使应用程序在 Home 页面上显示为磁贴。

这是为谁准备的?#

本教程适用于希望从给定配方生成 Anaconda Navigator 应用程序 conda 包的用户。建议事先了解 conda-build 或 conda 配方。

先决条件#

注意

您打算从 Anaconda Navigator 启动的任何应用程序都应包含图形用户界面 (GUI) 组件。并非所有 conda 包都具有图形界面。

  1. 安装 MinicondaAnaconda

  2. 如果您安装了 Miniconda,则还需要安装conda-build,anaconda-clientanaconda-navigator包。打开 Anaconda 提示符(适用于 macOS/Linux 用户的终端)并运行以下命令:

    # Ensure conda is up to date
    conda update --name base conda
    
    # Install conda-build
    conda install --name base conda-build anaconda-client anaconda-navigator
    
  3. 如有必要,请在 Anaconda.org 上创建帐户

    注意

    您的 Anaconda.org 用户名与 Anaconda.org 频道名称相同。

使用配方#

  1. 创建一个名为 myapp 的新目录,然后切换到新目录:

    mkdir myapp
    cd myapp
    
  2. 通过打开文本文件并命名来创建配方meta.yaml.

  3. 在本教程中,我们将使用 jupyterlab 原料中的 jupyterlab 配方 yaml 作为基础。

注意

由于 JupyterLab 已经是 Navigator 中的一个应用程序,因此您必须更改name:示例 JupyterLab 中的 parametermeta.yaml以确保应用程序在 Navigator 中正确显示。

package:
  name: my-test-app

App 参数meta.yaml#

app:参数中的meta.yamlfile 将 conda 包声明为应用程序。app 参数可以包含四个键:entry,summary,icontype.

app:
  entry: jupyter lab
  icon: icon.png
  summary: JupyterLab {{ version }}
  type: desk
entry:

运行包所需的命令

icon:

(可选)要在 Navigator 中的应用磁贴上显示的图像的路径。

summary:

应用程序的简短描述。

type:

应用程序类型(如desk对于桌面应用程序或web对于 Web 应用程序。

构建#

现在你已经有了conda-buildrecipe ready,您可以使用conda-build工具创建包。

注意

您必须在 Windows、macOS 和 Linux 计算机上单独构建和上传应用程序,以便该软件包在所有平台上可用。

  1. 导航到您的myapp目录下:

    #Replace <PATH-TO-DIRECTORY> with the file path to your my app folder
    cd <PATH-TO-DIRECTORY>/myapp
    
  2. 通过运行以下命令构建您的应用程序:

    conda build .
    
  3. conda-build 完成后,它会显示 conda 软件包的确切路径和文件名。请参阅 conda-build 命令是否失败的故障排除部分。

    注意

    路径和文件名会因您的安装和作系统而异。例如:

    C:\Users\<USERNAME>\miniconda\conda-bld\win-64\my-test-app-1.2.4-py38_0.tar.bz2
    
    /Users/<USERNAME>/anaconda3/conda-bld/osx-64/my-test-app-1.2.4-py38_0.tar.bz2
    
    /home/username/miniconda/conda-bld/linux-64/my-test-app-1.2.4-py38_0.tar.bz2
    
  4. 保存上传步骤的路径和文件名信息。

上传到 Anaconda.org#

现在,您可以将新的本地软件包上传到 Anaconda.org。

  1. 首先,通过运行以下命令从终端登录到 Anaconda.org:

    anaconda login
    
  2. 提供您的 Anaconda.org 用户名和密码。如果登录成功,您将看到类似于以下内容的输出:

    Using Anaconda.org api site https://api.anaconda.org
    
    Username: jsmith
    jsmith's Password:
    login successful
    

    谨慎

    以下步骤必须在baseconda 环境。要返回到基本环境,请运行以下命令:

    conda activate base
    
  3. 现在,您已登录到频道,可以上传 JupyterLab 包。选择适用于您的作系统的命令:

    谨慎

    将您的用户名、路径和文件名更改为您在构建应用程序时保存的确切用户名、路径和文件名。这些将根据您的安装和作系统而有所不同。

    anaconda upload C:\Users\<USERNAME>\miniconda\conda-bld\win-64\my-test-app-1.2.4-py38_0.tar.bz2
    
    anaconda upload /Users/<USERNAME>/miniconda/conda-bld/osx-64/my-test-app-1.2.4-py38_0.tar.bz2
    

有关 Anaconda.org 的更多信息,请参阅 Anaconda.org 文档

配置 Anaconda Navigator#

现在,JupyterLab 包已上传到您的 Anaconda.org 通道,您可以将该通道添加到 Anaconda Navigator。

  1. 打开 Anaconda Navigator。

    从开始菜单中,搜索“Anaconda Navigator”并单击以打开。

    打开 Launchpad,然后单击 Anaconda-Navigator 图标。

    1. 打开终端窗口。

    2. 使用以下命令打开 Navigator:

      anaconda-navigator
      
  2. 要添加您的频道,请单击 Channels (频道),然后单击 Add (添加)。输入 Anaconda.org 频道的 URL:https://conda.anaconda.org/<CHANNEL>,将 <CHANNEL> 替换为您的 Anaconda.org 用户名。

  3. 按 Enter 键 (Windows)/Return 键 (Mac),然后单击 Update Channels。

  4. 关闭并重新启动 Anaconda Navigator。您的应用程序将显示在 Home (主页) 上。

故障排除#

我的应用程序未显示在主页上#

  • 检查 conda 包是否已上传到 Anaconda.org 通道。

  • 检查您的频道是否已添加到 Channels 列表中。

  • 删除.anaconda/navigator文件夹中重置 Navigator 的配置信息,然后重新启动 Navigator。

我的应用程序无法启动#

  1. 如果应用程序在安装后未启动,请运行以下命令,通过命令行确认它是否正常工作:

    conda run jupyter lab
    

    注意

    如果您未使用示例原料,则run将是entry:命令。

  2. 如果 JupyterLab 使用 conda 正确启动,请删除.anaconda/navigator文件夹中重置 Navigator 配置信息,并使应用程序能够从 Navigator 应用程序正确启动。然后,重新启动 Navigator。

其他信息#

有关在 Windows 中添加“开始”菜单项的更多信息,请参阅 menuinst 文档。