如何使 conda 虚拟环境持久化并可用于 Jupyter Notebook 等工具?

How to make conda virtual environments persistent and available for tools such as Jupyter Notebook?

当在 shell window 中激活 conda 环境时,环境仅在 window 中处于活动状态(即不持久)。因此,当我导航到另一个 window 中的项目位置时,"root" 虚拟环境处于活动状态。

我是不是遗漏了什么或者这是预期的行为?

如何让Jupyter Notebook等工具访问创建的环境?

注册一个(python)笔记本内核:

假设您已经使用 conda create -n jupyter-env35 python=3.5 创建了一个名为 jupyter-env35 的 conda 环境,现在想在 jupyter 中使用它。

在环境中安装和注册 python 内核将使其可通过图形笔记本界面使用。

为此,首先安装 ipython 内核:

conda install -n jupyter-env35 ipykernel

然后激活环境,注册内核:

source activate jupyter-env35
ipython kernel install --user --name jupyter-env35

当您现在启动 juypter 时,它会在可用内核列表中显示 jupyter-env35 作为内核。如果你 select 它,安装到 juypter-env35 中的所有软件包都将可用。

注销笔记本内核:

如果你想从笔记本界面删除内核,jupyter --data-dir,会打印出jupyter的数据目录。

导航到打印的文件夹,找到子文件夹 kernels 并删除带有内核名称的文件夹(此处 jupyter-env35)。之后内核将不再出现在jupyter中。