在IPython Noteb中同时使用Python 2.x和Python 3.x

2024-04-24 23:18:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用I python笔记本,希望能够选择在IPython中创建2.x或3.x python笔记本。

我最初有一条水蟒。使用Anaconda时,必须更改全局环境变量以选择所需的python版本,然后才能启动IPython。这不是我想要的,所以我卸载了Anaconda,现在使用MacPorts和PiP设置了自己的安装。看来我还得用

port select --set python <python version> 

在python 2.x和3.x之间切换,这并不比anaconda解决方案好多少。

在启动IPython笔记本之后,有没有办法选择要使用的python版本,最好使用我当前的MacPorts版本?


Tags: pip版本portversionipython环境变量笔记本anaconda
3条回答

这里的想法是安装多个ipython内核。这是关于水蟒的说明。如果你不使用水蟒,我最近添加了instructions使用纯virtualenvs。

水蟒=4.1.0

从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笔记本后,新的内核可以通过图形界面使用。请注意,新软件包必须显式地安装到新环境中。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

此外,如果要更改内核的名称,可以将--name--display-name选项传递给ipython kernel install。有关详细信息,请参见ipython kernel install --help

这些说明解释了如何为非anaconda用户在单独的虚拟环境中安装python2和python3内核。如果您使用的是水蟒,请找我的other answer直接为水蟒量身定制的解决方案。

我假设您已经安装了jupyter notebook


首先确保您有一个带pippython2python3解释器。

在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配置文件中。根据您使用的系统和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

如果在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

相关问题 更多 >