构建Anaconda Navigator应用程序#

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

以JupyterLab feedstock为基础,您将修改构建配方中的文件,以声明该包为Navigator的应用程序,然后重新构建并将其上传到Anaconda.org频道。我们随后将在Navigator中添加该频道,使应用程序在主页上显示为一个图块。

这是为谁准备的?#

本教程适用于希望从给定配方生成Anaconda Navigator应用程序conda包的用户。建议具备conda-build或conda配方的基础知识。

先决条件#

注意

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

  1. 安装 MinicondaAnaconda

  2. 如果您安装了Miniconda,您还需要安装conda-buildanaconda-clientanaconda-navigator包。打开Anaconda Prompt(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 feedstock的jupyterlab配方yaml作为基础。

注意

因为JupyterLab已经是Navigator中的一个应用程序,你必须更改示例jupyterlab meta.yaml中的name:参数,以确保应用程序在Navigator中正确显示。

package:
  name: my-test-app

meta.yaml中的App参数#

meta.yaml 文件中的 app: 参数声明了一个 conda 包为一个应用程序。app 参数可以包含四个键:entrysummaryicontype

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

运行包所需的命令

icon:

(可选)您希望在Navigator中应用程序图块上显示的图像的路径。

summary:

应用程序的简短描述。

type:

应用程序类型,例如desk表示桌面应用程序,或web表示网页应用程序。

构建#

现在你已经准备好了conda-build配方,你可以使用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
    

    注意

    以下步骤必须在 base conda 环境中完成。要返回到您的 base 环境,请运行以下命令:

    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. 使用以下命令打开导航器:

      anaconda-navigator
      
  2. 要添加您的频道,请点击频道,然后点击添加。输入您的Anaconda.org频道的URL:https://conda.anaconda.org/,将替换为您的Anaconda.org用户名。

  3. 按下 Enter(Windows)/Return(Mac)并点击更新频道

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

故障排除#

我的应用程序没有出现在主页上#

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

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

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

我的应用程序无法启动#

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

    conda run jupyter lab
    

    注意

    如果您没有使用示例原料,run 之后的命令将是您指定的 entry: 命令。

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

附加信息#

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