我使用IPython笔记本,希望能够在IPython中选择创建2.x或3.x的python笔记本。
我最初使用的是Anaconda。 在Anaconda中,必须改变一个全局环境变量来选择你想要的python版本,然后才能启动IPython。 这不是我想要的,所以我卸载了Anaconda,现在用MacPorts和PiP建立了我自己的安装。 看来,我还是得用
port select --set python <python version>
在python 2.x和3.x之间切换,这并不比Anaconda的解决方案好。
是否有办法在启动IPython笔记本后选择要使用的python版本,最好是用我现在的MacPorts构建?
这里的想法是安装多个ipython
内核。这里是Anaconda的说明。如果你不使用anaconda,我最近添加了说明,使用纯virtualenvs。
从4.1.0版本开始,anaconda包含了一个特殊的包nb_conda_kernels
,可以检测到带有笔记本内核的conda环境并自动注册。这使得使用新的python版本和创建新的conda环境一样简单。
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel
在重启jupyter notebook之后,新的内核可以通过图形界面获得。请注意,新的软件包必须明确安装到新环境中。conda文档中的Managing environments部分提供了更多信息。
不想使用nb_conda_kernels
或者仍然使用旧版本的anaconda的用户可以使用以下步骤手动注册ipython内核。
配置python2.7
环境。
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user
配置 "python3.6 "环境。
conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user
之后,你应该能够在界面上创建新的笔记本时,在python2
和python3
之间进行选择。
和 "python3 "之间进行选择。
此外,如果你想改变内核的名称,你可以向ipython kernel install
传递--name
和--display-name
选项。更多信息请参见ipython kernel install --help
。
使用当前版本的笔记本/Jupyter,你可以创建一个Python3内核。在用Python 2从命令行启动一个新的笔记本应用程序后,你应该在下拉菜单 "新建 "中看到一个条目 "Python 3"。这就给了你一个使用 Python 3 的笔记本。因此,你可以有两个并排的不同 Python 版本的笔记本。
1.创建这个目录:mkdir -p ~/.ipython/kernels/python3
。
2.创建这个文件~/.ipython/kernels/python3/kernel.json
,内容如下。
{
"display_name": "IPython (Python 3)",
"语言": "python"。
"argv"。[
"Python3"。
"-c", "从IPython.kernel.zmq.kernelapp导入main; main()"。
"-f", "{connection_file}"
],
"codemirror_mode"。{
"版本": 2,
"name": "ipython"
}
}
3.重新启动笔记本服务器。 4.从下拉菜单 "新建 "中选择 "Python 3"。 5.使用Python 3 笔记本工作 6.从下拉菜单 "新建 "中选择 "Python 2"。 7.使用Python 2 笔记本工作
有一个解决方案可以让我通过配置Ipython kernelspec来保留我的MacPorts安装。
要求。
对于Python 2.x。
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self
对于Python 3.x:
$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self
现在你可以打开一个Ipython笔记本,然后选择一个python 2.x或python 3.x的笔记本。