Link 带有 Jupyter Notebook 的 Conda 环境
Link Conda environment with Jupyter Notebook
我正在努力为 python 做一些科学工作创造一个良好的环境。为此,我安装了 Jupyter 和 miniconda。
然后我希望能够拥有不同的环境并将它们与 Jupyter 笔记本一起使用。所以我用 conda 创建了两个自定义环境:py27 和 py35。
> conda env list
# conda environments:
#
py27 /Users/***/miniconda3/envs/py27
py35 /Users/***/miniconda3/envs/py35
root * /Users/***/miniconda3
然后在我的笔记本上我有两个内核 python 2
和 python 3
。
在笔记本中,我使用 python3 内核得到以下信息:
> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python
还有 python2 内核:
> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7
- 如何将
sys.executable
设置为 python2 的 miniconda 环境?
- 如何将 conda env 与笔记本内核绑定?
- 正在做
source activate py35
有 link 和 jupyter notebook
吗?
我想我真的错过了什么。
谢谢大家
--- 编辑
我有多个 jupyter bin :
> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter
我这里只有一个内核/usr/local/share/jupyter/kernels/python2
。
但是在 Jupyter 内部,我有两个内核,python2
和 python3
。我在哪里可以找到另一个?
我从 /usr/local/share/jupyter/kernels/python2
修改了 kernel.json
:
{
"display_name": "Python 2",
"language": "python",
"argv": [
"/Users/***/miniconda3/envs/py27/bin/python2.7",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}
然后:
import sys
print(sys.executable)
/usr/local/opt/python/bin/python2.7
所以什么都没有改变
我找到了解决方案。位于此处 ~/Library/Jupyter/kernels/
.
的内核设置
然后我修改了kernel.json
文件,设置正确的路径为python。
现在可以了。
对于 Anaconda,我建议您使用更简单、更合适的解决方案;
看看 nb_conda_kernels package.
它允许您“在 Jupyter Notebook 中管理基于 conda 环境的内核”。
自 Anaconda 版本 4.1.0 起应包括在内,否则只需使用
conda install nb_conda
现在您应该可以直接从笔记本界面管理所有内容了。
请注意,只有安装了 Jupyter 内核的环境(在 Python 的情况下,ipykernel
包)。引自 nb_conda_kernels
GitHub 页面:
Any other environments you wish to access in your notebooks must have an appropriate kernel package installed. For instance, to access a Python environment, it must have the ipykernel package; e.g.
conda install -n python_env ipykernel
不确定还有什么帮助,但对我来说至关重要的是在根 conda 环境中安装 nb_conda_kernels
。尝试在特定的 conda 环境中安装它并没有让 Jupyter Notebook 能够使用默认环境以外的其他 conda 环境。
conda install -n root nb_conda_kernels
jupyter notebook
假设您的 conda-env 被命名为 cenv
,它很简单:
$ conda activate cenv
(cenv)$ conda install ipykernel
(cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
(cenv($ conda deactivate
如果您重新启动 jupyter notebook/lab,您将能够看到可用的新内核。
PS: 如果您使用的是 virtualenv 等,上述步骤适用。
这对我有用:
source activate {environment_name}
python -m ipykernel install --user --name={environment_name};
如果没有安装ipykernel,使用这个命令:
conda install -c anaconda ipykernel
对我有用的是:创建虚拟环境,安装 ipykernel,在 jupyter 内核中注册虚拟环境并加载 jupyter notebook:
$ conda create -n testEnv python=3.6
$ conda activate testEnv
(testEnv)$ conda install ipykernel
(testEnv)$ ipython kernel install --user --name=testEnv
(testEnv)$ jupyter notebook
之后,在jupyter notebook中你应该可以在其他内核列表中找到创建的环境
我正在努力为 python 做一些科学工作创造一个良好的环境。为此,我安装了 Jupyter 和 miniconda。
然后我希望能够拥有不同的环境并将它们与 Jupyter 笔记本一起使用。所以我用 conda 创建了两个自定义环境:py27 和 py35。
> conda env list
# conda environments:
#
py27 /Users/***/miniconda3/envs/py27
py35 /Users/***/miniconda3/envs/py35
root * /Users/***/miniconda3
然后在我的笔记本上我有两个内核 python 2
和 python 3
。
在笔记本中,我使用 python3 内核得到以下信息:
> import sys
> print(sys.executable)
/Users/***/miniconda3/envs/py35/bin/python
还有 python2 内核:
> import sys
> print(sys.executable)
/usr/local/opt/python/bin/python2.7
- 如何将
sys.executable
设置为 python2 的 miniconda 环境? - 如何将 conda env 与笔记本内核绑定?
- 正在做
source activate py35
有 link 和jupyter notebook
吗?
我想我真的错过了什么。
谢谢大家
--- 编辑
我有多个 jupyter bin :
> where jupyter
/usr/local/bin/jupyter
/usr/local/bin/jupyter
/Users/ThomasDehaeze/miniconda3/bin/jupyter
我这里只有一个内核/usr/local/share/jupyter/kernels/python2
。
但是在 Jupyter 内部,我有两个内核,python2
和 python3
。我在哪里可以找到另一个?
我从 /usr/local/share/jupyter/kernels/python2
修改了 kernel.json
:
{
"display_name": "Python 2",
"language": "python",
"argv": [
"/Users/***/miniconda3/envs/py27/bin/python2.7",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}
然后:
import sys
print(sys.executable)
/usr/local/opt/python/bin/python2.7
所以什么都没有改变
我找到了解决方案。位于此处 ~/Library/Jupyter/kernels/
.
然后我修改了kernel.json
文件,设置正确的路径为python。
现在可以了。
对于 Anaconda,我建议您使用更简单、更合适的解决方案; 看看 nb_conda_kernels package.
它允许您“在 Jupyter Notebook 中管理基于 conda 环境的内核”。
自 Anaconda 版本 4.1.0 起应包括在内,否则只需使用
conda install nb_conda
现在您应该可以直接从笔记本界面管理所有内容了。
请注意,只有安装了 Jupyter 内核的环境(在 Python 的情况下,ipykernel
包)。引自 nb_conda_kernels
GitHub 页面:
Any other environments you wish to access in your notebooks must have an appropriate kernel package installed. For instance, to access a Python environment, it must have the ipykernel package; e.g.
conda install -n python_env ipykernel
不确定还有什么帮助,但对我来说至关重要的是在根 conda 环境中安装 nb_conda_kernels
。尝试在特定的 conda 环境中安装它并没有让 Jupyter Notebook 能够使用默认环境以外的其他 conda 环境。
conda install -n root nb_conda_kernels
jupyter notebook
假设您的 conda-env 被命名为 cenv
,它很简单:
$ conda activate cenv
(cenv)$ conda install ipykernel
(cenv)$ ipython kernel install --user --name=<any_name_for_kernel>
(cenv($ conda deactivate
如果您重新启动 jupyter notebook/lab,您将能够看到可用的新内核。
PS: 如果您使用的是 virtualenv 等,上述步骤适用。
这对我有用:
source activate {environment_name}
python -m ipykernel install --user --name={environment_name};
如果没有安装ipykernel,使用这个命令:
conda install -c anaconda ipykernel
对我有用的是:创建虚拟环境,安装 ipykernel,在 jupyter 内核中注册虚拟环境并加载 jupyter notebook:
$ conda create -n testEnv python=3.6
$ conda activate testEnv
(testEnv)$ conda install ipykernel
(testEnv)$ ipython kernel install --user --name=testEnv
(testEnv)$ jupyter notebook
之后,在jupyter notebook中你应该可以在其他内核列表中找到创建的环境