构建Anaconda Navigator应用程序#
在本教程中,您将学习如何向Anaconda Navigator添加一个启动自定义应用程序的磁贴。
以JupyterLab feedstock为基础,您将修改构建配方中的文件,以声明该包为Navigator的应用程序,然后重新构建并将其上传到Anaconda.org频道。我们随后将在Navigator中添加该频道,使应用程序在主页上显示为一个图块。
这是为谁准备的?#
本教程适用于希望从给定配方生成Anaconda Navigator应用程序conda包的用户。建议具备conda-build或conda配方的基础知识。
先决条件#
注意
您打算从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频道名称相同。
使用配方#
创建一个名为myapp的新目录,然后切换到新目录:
mkdir myapp cd myapp
通过打开一个文本文件并将其命名为
meta.yaml
来创建配方。在本教程中,我们将使用来自jupyterlab feedstock的jupyterlab配方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
表示网页应用程序。
构建#
现在你已经准备好了conda-build
配方,你可以使用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图标。
打开一个终端窗口。
使用以下命令打开导航器:
anaconda-navigator
要添加您的频道,请点击频道,然后点击添加。输入您的Anaconda.org频道的URL:https://conda.anaconda.org/
,将 替换为您的Anaconda.org用户名。 按下 Enter(Windows)/Return(Mac)并点击更新频道。
关闭并重新启动Anaconda Navigator。您的应用程序将显示在主页上。
故障排除#
我的应用程序没有出现在主页上#
检查conda包是否已上传到您的Anaconda.org频道。
检查您的频道是否已添加到频道列表中。
从您的主目录中删除
.anaconda/navigator
文件夹以重置Navigator的配置信息,然后重新启动Navigator。
我的应用程序无法启动#
如果安装后应用程序没有启动,请通过运行以下命令确认它在命令行中是否工作:
conda run jupyter lab
注意
如果您没有使用示例原料,
run
之后的命令将是您指定的entry:
命令。如果JupyterLab使用conda正确启动,请从您的主目录中删除
.anaconda/navigator
文件夹,以重置Navigator配置信息,并使应用程序能够从Navigator应用程序正确启动。然后,重新启动Navigator。
附加信息#
有关在Windows中添加开始菜单条目的更多信息,请参阅menuinst文档。