构建 Anaconda Navigator 应用程序#
在本教程中,您将学习如何向 Anaconda Navigator 添加磁贴,以启动您的自定义应用程序。
以 JupyterLab feedstock 为基础,您将修改构建 recipe 中的文件,以将该包声明为 Navigator 的应用程序,然后重新构建并将其上传到 Anaconda.org 频道。之后,我们在 Navigator 中添加该频道,应用程序将作为磁贴显示在主页上。
本教程适合哪些用户?#
本教程适用于希望从给定 recipe 生成 Anaconda Navigator 应用程序 conda 包的用户。建议事先了解 conda-build 或 conda recipe。
先决条件#
注意
您计划从 Anaconda Navigator 启动的任何应用程序都应包含图形用户界面 (GUI) 组件。并非所有 conda 包都具有图形界面。
如果您安装了 Miniconda,则还需要安装
conda-build
、anaconda-client
和anaconda-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
如有必要,请在 Anaconda.org 上创建帐户。
注意
您的 Anaconda.org 用户名与您的 Anaconda.org 频道名称相同。
使用 recipe#
创建一个名为 myapp 的新目录,然后切换到该目录
mkdir myapp cd myapp
通过打开一个文本文件并将其命名为
meta.yaml
来创建 recipe。在本教程中,我们将使用来自 jupyterlab feedstock 的 jupyterlab recipe yaml 作为基础。
注意
由于 JupyterLab 已经是 Navigator 中的应用程序,因此您必须更改示例 jupyterlab meta.yaml
中的 name:
参数,以确保该应用程序在 Navigator 中正确显示。
package:
name: my-test-app
meta.yaml 中的 App 参数#
meta.yaml
文件中的 app:
参数将 conda 包声明为应用程序。app 参数可以包含四个键:entry
、summary
、icon
和 type
。
app:
entry: jupyter lab
icon: icon.png
summary: JupyterLab {{ version }}
type: desk
entry
:运行包所需的命令
icon
:(可选)您希望在 Navigator 中应用程序磁贴上显示的图像路径。
summary
:应用程序的简短描述。
type
:应用程序类型,例如
desk
代表桌面应用程序,web
代表 Web 应用程序。
构建#
现在您已经准备好 conda-build
recipe,可以使用 conda-build
工具来创建包。
注意
您必须在 Windows、macOS 和 Linux 机器上分别构建和上传您的应用程序,以便该包在所有平台上都可用。
通过运行以下命令导航到您的
myapp
目录#Replace <PATH-TO-DIRECTORY> with the file path to your my app folder cd <PATH-TO-DIRECTORY>/myapp
通过运行以下命令构建您的应用程序
conda build .
当 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
保存路径和文件名信息以供上传步骤使用。
上传到 Anaconda.org#
现在您可以将新的本地包上传到 Anaconda.org。
首先,通过从终端运行以下命令登录到 Anaconda.org
anaconda login
提供您的 Anaconda.org 用户名和密码。如果登录成功,您将看到类似于以下的输出
Using Anaconda.org api site https://api.anaconda.org Username: jsmith jsmith's Password: login successful
注意
以下步骤必须在
base
conda 环境中完成。要返回到您的 base 环境,请运行以下命令conda activate base
现在您已登录到您的频道,您可以上传 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。
打开 Anaconda Navigator。
从“开始”菜单中,搜索“Anaconda Navigator”并单击打开。
打开 Launchpad,然后单击 Anaconda-Navigator 图标。
打开终端窗口。
使用以下命令打开 Navigator
anaconda-navigator
要添加您的频道,请单击“Channels”(频道),然后单击“Add”(添加)。输入您的 Anaconda.org 频道的 URL:https://conda.anaconda.org/<CHANNEL>,将 <CHANNEL> 替换为您的 Anaconda.org 用户名。
按 Enter (Windows)/Return (Mac) 键,然后单击“Update Channels”(更新频道)。
关闭并重新启动 Anaconda Navigator。您的应用程序将显示在主页上。
故障排除#
我的应用程序未显示在主页上#
检查 conda 包是否已上传到您的 Anaconda.org 频道。
检查您的频道是否已添加到频道列表中。
从您的主目录中删除
.anaconda/navigator
文件夹以重置 Navigator 的配置信息,然后重新启动 Navigator。
我的应用程序无法启动#
如果应用程序在安装后无法启动,请通过运行以下命令确认它可以通过命令行工作
conda run jupyter lab
注意
如果您没有使用示例 feedstock,则
run
之后的命令将是您指定的entry:
命令。如果 JupyterLab 可以使用 conda 正确启动,请从您的主目录中删除
.anaconda/navigator
文件夹以重置 Navigator 配置信息,并使应用程序能够从 Navigator 应用程序正确启动。然后,重新启动 Navigator。
附加信息#
有关在 Windows 中添加“开始”菜单项的更多信息,请参阅 menuinst 文档。