Anaconda:Python 笔记本中的 Python 3 和 2

Anaconda: Python 3 and 2 in IPython/Jupyter Notebook

我安装了 Python 3 Anaconda,希望能够在 python2 和 3 内核之间快速切换。这是在 OSX.

到目前为止我的步骤:

conda create -p ~/anaconda/envs/python2 python=2.7
source activate python2
conda install ipython
ipython kernelspec install-self
source deactivate

之后我在 python3 IPython 笔记本中有一个 python2 内核可供选择,但是无法启动。

所以我继续修改/usr/local/share/jupyter/kernels/python2/kernel。json

{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
  "/Users/sonium/anaconda/envs/python2/bin/python",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ],
 "env":{"PYTHONHOME":"~/anaconda/envs/python2/:~/anaconda/envs/python2/lib/"}
}

现在,当我启动 python2 内核时,它失败了:

ImportError: No module named site

显然 IPython 需要明确的路径名,所以没有 '~' 而不是主目录。它在将 kernel.json 更改为:

后起作用
{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
  "/Users/sonium/anaconda/envs/python2/bin/python2.7",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ],
 "env":{"PYTHONHOME":"/Users/sonium/anaconda/envs/python2"}
}

我在Win10中安装了Anaconda 3。我现在专注于 python 3,但我有很多项目是用 python 2 编写的。如果我想在 python 环境中的 juypter 中检查它们,它将失败,并显示 "kernel error".解决方案与上面几乎相同,但有所不同。

找到这两个 json 文件的路径是: C:\ProgramData\jupyter\kernels 有时它可能会被隐藏。

你需要检查的另一个路径,在Anaconda中创建一个python2环境后,尝试找到这个路径: C:\Users\username\Anaconda3\envs\python2\python.exe

将其复制到您的 python2 内核 json 文件中,然后它应该可以工作了。