我使用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之间切换。这并不比蟒蛇解决方案好。
有没有办法在启动IPython笔记本后选择要使用的python版本,最好是使用我当前的MacPorts构建?
答案 0 :(得分:311)
这里的想法是安装多个ipython
内核。以下是anaconda的说明。如果您没有使用anaconda,我最近使用纯virtualenvs添加了instructions。
从版本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笔记本后,新内核可通过图形界面获得。请注意,必须在新环境中明确安装新软件包。康达文档中的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
之间进行选择
和<{1}}在界面中创建新笔记本时。
此外,如果要更改内核的名称,可以将python3
和--name
选项传递给--display-name
。有关更多信息,请参阅ipython kernel install
。
答案 1 :(得分:252)
如果你在Python 3上运行Jupyter,你可以像这样设置一个Python 2内核:
python2 -m pip install ipykernel
python2 -m ipykernel install --user
http://ipython.readthedocs.io/en/stable/install/kernel_install.html
答案 2 :(得分:37)
使用当前版本的Notebook / Jupyter,您可以创建Python3 kernel。在使用Python 2从命令行启动新的笔记本应用程序后,您应该在下拉菜单“新建”中看到一个条目“Python 3”。这给你一个使用Python 3的笔记本。所以你可以有两个笔记本并排使用不同的Python版本。
mkdir -p ~/.ipython/kernels/python3
使用以下内容创建此文件~/.ipython/kernels/python3/kernel.json
:
{
"display_name": "IPython (Python 3)",
"language": "python",
"argv": [
"python3",
"-c", "from IPython.kernel.zmq.kernelapp import main; main()",
"-f", "{connection_file}"
],
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
}
重新启动笔记本服务器。
答案 3 :(得分:32)
这些说明解释了如何在非anaconda用户的不同虚拟环境中安装python2和python3内核。如果您使用的是anaconda,请找到我的other answer以获得直接针对anaconda量身定制的解决方案。
我假设您已经安装了jupyter notebook
。
首先确保您拥有python2
和python3
解释程序并且pip
可用。
在ubuntu上,您可以通过以下方式安装:
sudo apt-get install python-dev python3-dev python-pip python3-pip
接下来准备并注册内核环境
python -m pip install virtualenv --user
# configure python2 kernel
python -m virtualenv -p python2 ~/py2_kernel
source ~/py2_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py2 --user
deactivate
# configure python3 kernel
python -m virtualenv -p python3 ~/py3_kernel
source ~/py3_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py3 --user
deactivate
为了简化操作,您可能希望将激活命令的shell别名添加到shell配置文件中。根据您使用的系统和外壳,可以是例如~/.bashrc
,~/.bash_profile
或~/.zshrc
alias kernel2='source ~/py2_kernel/bin/activate'
alias kernel3='source ~/py3_kernel/bin/activate'
重新启动shell后,您现在可以在激活要使用的环境后安装新软件包。
kernel2
python -m pip install <pkg-name>
deactivate
或
kernel3
python -m pip install <pkg-name>
deactivate
答案 4 :(得分:22)
有一个解决方案可以让我通过配置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笔记本。
答案 5 :(得分:17)
从我的Linux安装中我做到了:
sudo ipython2 kernelspec install-self
现在我的python 2又回到了列表中。
<强>参考:强>
http://ipython.readthedocs.org/en/latest/install/kernel_install.html
<强>更新强>
上述方法现已弃用,将来会被删除。新方法应该是:
sudo ipython2 kernel install
答案 6 :(得分:5)
以下是将python2内核添加到jupyter notebook ::
的步骤打开终端并创建一个新的python 2环境:conda create -n py27 python=2.7
激活环境:Linux source activate py27
或Windows activate py27
在env:conda install notebook ipykernel
在env:ipython kernel install --user
关闭env:source deactivate
虽然迟到的回答希望有人发现它有用:p
答案 7 :(得分:3)
使用sudo pip3 install jupyter
为python3安装jupyter,使用sudo pip install jupyter
为python2安装jupyter notebook。然后,您可以调用ipython kernel install
命令启用两种类型的笔记本,以便在jupyter笔记本中进行选择。
答案 8 :(得分:1)
我查看了这个优秀的信息,然后想知道,因为
答案 9 :(得分:0)
在Windows 7下,我安装了anaconda和anaconda3。
我进入了\Users\me\anaconda\Scripts
并执行了
sudo .\ipython kernelspec install-self
然后我进入\Users\me\anaconda3\Scripts
并执行
sudo .\ipython kernel install
(我得到jupyter kernelspec install-self is DEPRECATED as of 4.0. You probably want 'ipython kernel install' to install the IPython kernelspec.
)
启动jupyter notebook
(在anaconda3中)后,我在“新建”下的右上角有一个简洁的下拉菜单,让我在Python 2 odr Python 3内核之间进行选择。
答案 10 :(得分:0)
$ python -m ipykernel install --user --name=test2