在IPython Notebook中使用Python 2.x和Python 3.x.

Using both Python 2.x and Python 3.x in IPython Notebook

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

我最初吃过Python。对于Python,必须更改一个全局环境变量来选择您想要的Python版本,然后才能启动IPython。这不是我要找的,所以我卸载了anaconda,现在已经使用macports和pip建立了自己的安装。看来我还得用

1
port select --set python <python version>

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

在启动ipython笔记本后,是否有方法选择要使用的python版本,最好使用我当前的macports版本?


这里的想法是安装多个ipython内核。这是关于Python的说明。如果你不使用Python,我最近添加了使用纯虚拟环境的指令。

Python>=4.1.0

从4.1.0版开始,Anaconda包含一个特殊的包nb_conda_kernels,它用笔记本内核检测Conda环境并自动注册。这使得使用新的python版本和创建新的conda环境一样容易:

1
2
conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel

重新启动Jupyter笔记本电脑后,新的内核将通过图形界面提供。请注意,新软件包必须显式安装到新环境中。Conda文档中的"管理环境"部分提供了进一步的信息。

手动注册内核

不想使用nb_conda_kernels或仍然使用旧版本的Python的用户可以使用以下步骤手动注册ipython内核。

配置python2.7环境:

1
2
3
4
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user

配置python3.6环境:

1
2
3
4
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


如果您在python 3上运行jupyter,那么可以像这样设置python 2内核:

1
2
3
python2 -m pip install ipykernel

python2 -m ipykernel install --user

http://ipython.readthedocs.io/en/stable/install/kernel_install.html


使用当前版本的笔记本/jupyter,您可以创建python3内核。在用python 2从命令行启动一个新的笔记本应用程序之后,您应该看到一个条目?python 3"在下拉菜单中?新"。这将为您提供一个使用python 3的笔记本。因此,您可以将两个笔记本与不同的Python版本并排放置。

细节

  • 创建此目录:mkdir -p ~/.ipython/kernels/python3
  • 使用以下内容创建此文件~/.ipython/kernels/python3/kernel.json

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    {
       "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"
        }
    }
  • 重新启动笔记本服务器。

  • 选择?从下拉菜单中选择python 3?新"
  • 使用python 3笔记本
  • 选择?从下拉菜单中选择python 2?新"
  • 使用python 2笔记本

  • 这些说明解释了如何在不同的虚拟环境中为非Python用户安装python2和python3内核。如果你使用的是Python,请找我的另一个答案,直接为Python量身定做的解决方案。

    我假设您已经安装了jupyter notebook

    首先,确保您有一个python2和一个python3解释器和pip可用。

    在Ubuntu上,您可以通过以下方式安装:

    1
    sudo apt-get install python-dev python3-dev python-pip python3-pip

    接下来准备并注册内核环境

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    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

    1
    2
    alias kernel2='source ~/py2_kernel/bin/activate'
    alias kernel3='source ~/py3_kernel/bin/activate'

    重新启动shell后,您现在可以在激活要使用的环境后安装新的包。

    1
    2
    3
    kernel2
    python -m pip install <pkg-name>
    deactivate

    1
    2
    3
    kernel3
    python -m pip install <pkg-name>
    deactivate


    有一个解决方案可以让我通过配置ipython kernelspec来保持MacPorts的安装。

    要求:

    • MacPorts安装在常规/opt目录中
    • python 2.7通过macports安装
    • python 3.4通过macports安装
    • ipython是为python 2.7安装的
    • ipython是为python 3.4安装的

    对于Python 2 .x:

    1
    2
    $ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
    $ sudo ./ipython kernelspec install-self

    对于Python 3 .x:

    1
    2
    $ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
    $ sudo ./ipython kernelspec install-self

    现在,您可以打开ipython笔记本,然后选择python 2.x或python 3.x笔记本。

    Choose your python!


    在我的Linux安装中,我做到了:

    sudo ipython2 kernelspec install-self

    现在我的python 2又回到了列表中。

    参考文献:

    http://ipython.readthedocs.org/en/latest/install/kernel_install.html

    更新:

    上述方法现在已弃用,将来将删除。新方法应该是:

    sudo ipython2 kernel install


    以下是将python2内核添加到jupyter笔记本的步骤:

    打开终端,创建新的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


    使用sudo pip3 install jupyter安装python3的jupyter,使用sudo pip install jupyter安装python2的jupyter笔记本。然后,您可以调用ipython kernel install命令,使这两种类型的笔记本都可以在jupyter笔记本中进行选择。


    我看了这些极好的信息,然后想知道,因为

  • 我已经安装了python2、python3和ipython,
  • 我安装了Pycharm,
  • pycharm使用ipython作为其python控制台,
  • 如果Pycharm会用

  • 当菜单>文件>设置>项目>项目解释器==py2和
  • 当菜单>文件>设置>项目>项目解释器==py3时,ipython-py3
  • 答:是的!

    另外,我也安装了用于Windows的python启动程序。


    在Windows7下,我安装了Python和Python3。我进了江户十一〔0〕,执行了死刑。

    1
    sudo .\ipython kernelspec install-self

    然后我进了以东城,执行了死刑。

    1
    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中)后,右上角的"new"下有一个简洁的下拉菜单,让我在python 2 odr python 3内核之间进行选择。