IPython NotebookでPython 2.xとPython 3.xの両方を使用する


255

私はIPythonノートブックを使用しており、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ノートブックを開始した後で、できれば現在のMacPortsビルドで使用するpythonのバージョンを選択する方法はありますか?


回答:


336

ここでの考え方は、複数のipythonカーネルをインストールすることです。アナコンダの手順は次のとおりです。anacondaを使用していない場合は、最近、pure virtualenvsを使用する手順を追加しました。

アナコンダ> = 4.1.0

バージョン4.1.0以降、anacondaには、nb_conda_kernelsノートブックカーネルでconda環境を検出し、それらを自動的に登録する特別なパッケージが含まれています。これにより、新しいconda環境を作成するのと同じくらい簡単に、新しいpythonバージョンを使用できます。

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

jupyter Notebookを再起動すると、新しいカーネルがグラフィカルインターフェイスから利用できるようになります。新しいパッケージは新しい環境に明示的にインストールする必要があることに注意してください。詳細については、condaのドキュメントの「環境管理」セクションを参照してください。

カーネルを手動で登録する

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をアンインストールしていて、これが機能しているので、確認できません。
deltap、2015年

9
rootを要求せずにkernelspecsをセットアップしたい場合ipython kernelspec install-self --userは、現在のユーザー用にそれらをインストールすることができます。
トーマスK

1
私はそれを理解しました!あなたの答えが助けになりました! dropbox.com/s/6ayqf55ctkv2xgk/...
かしこいプログラマー

7
重要な点は、最初のAnacondaに付属していないnb_conda_kernelsをインストールする必要があることです。ありがとう!
dartdog

1
@cel、確かに私がjupyterを起動する環境には、デフォルトでnb_conda_kernelsパッケージがインストールされていません。私はすべてのコメントを読むのに時間をかけませんでした。おそらくあなたはあなたの答えを編集して、ダートドッグのリマックを含めることができます。
Antoine Gautier 2017

276

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


52
python2がすでにセットアップされていて、python3が必要な場合は、「2」を「3」に切り替えます。なぜこれが一番の答えではないのか理解できません。Occamのかみそりで間違いなく勝利し、うまくいきました。
ワードフォーザワイズ

6
完璧に動作します。確かに最初の答えになるはずです。
JSmyth 2016

2
python2コマンドはpython自体に含まれていますか?この回答について、詳しく説明してください。:)
verystrongjoe 2017

3
これは機能しますが、追加のパッケージで私のシステムのpython 2にリンクされていません。既存のPythonバイナリ/実行可能ファイルにリンクする方法はありますか?
Rutger Hofste 2017

1
win10で完全に機能python2your\path\to\python(2).exeます。単にに置き換えてください。
Lucien

42

以下の手順では、anacondaを使用しないユーザーのために、python2およびpython3カーネルを個別の仮想環境にインストールする方法について説明します。anacondaを使用している場合は、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

作業を簡単にするために、アクティブ化コマンドのシェルエイリアスをシェル構成ファイルに追加することができます。使用するシステムとシェルに応じて、これは、たとえば~/.bashrc~/.bash_profileまたは~/.zshrc

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

シェルを再起動した後、使用する環境をアクティブ化した後、新しいパッケージをインストールできます。

kernel2
python -m pip install <pkg-name>
deactivate

または

kernel3
python -m pip install <pkg-name>
deactivate

これに続いて、ドット、インストールされたパンダ、jupyterの起動、py3カーネルへの切り替え:「見つからない」エラーでパンダのインポートが失敗しました。それは私を
大騒ぎさ

1
@ user1255933、これはおそらく間違ったpipバージョンでのインストールが原因です。これは、ターゲット環境のアクティブ化が失敗したか、pipバージョンが含まれていない場合に発生する可能性があります。ここで私の答えが興味深いかもしれません:stackoverflow.com/questions/32680081/…
cel

アナコンダ以外の方法でカーネルをインストールする方法の説明をありがとう
mdivk

37

Notebook / Jupyterの現在のバージョンでは、Python3カーネルを作成できます。コマンドラインからPython 2で新しいノートブックアプリケーションを起動すると、ドロップダウンメニューの[新規]に[Python 3]というエントリが表示されます。これにより、Python 3を使用するノートブックが提供されます。したがって、2つのノートブックを並べて、異なるバージョンのPythonを使用できます。

詳細

  1. このディレクトリを作成します。 mkdir -p ~/.ipython/kernels/python3
  2. ~/.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. ノートブックサーバーを再起動します。

  4. ドロップダウンメニューの[新規]から[Python 3]を選択します
  5. Python 3ノートブックを操作する
  6. ドロップダウンメニューの[新規]から[Python 2]を選択します
  7. Python 2ノートブックを操作する

これはすばらしいことであり、私はそれを機能させようとしていますがjupyter、このシナリオでどのように開始するかを指定できます(私は実行するipython notebook必要があるか、またはipython3 notebook)。現在、私はどちらか一方しか実行できません(それぞれの環境では、両方のカーネルがに一覧表示されていjupyterます)。答えを拡張して、jupyter実行方法python2python3並べて実行できるように開始方法を含めることはできますか?ありがとう!
クリス

1
わかりました、私はそれを理解したと思います- (OS Xで)kernel.json内部のファイルを調整~/Library/Jupyter/kernels/python3/し、リンクされたファイルに記載されている引数を追加する必要がありました。
クリス、

@Chrisはい、リンクの背後にある説明はIPython Notebookで提供されていますが、エディターで行うこともできます。特定のパスと表示されたコンテンツで特定の名前のファイルを作成または変更するだけです。問題を解決できてうれしいです。
マイク・ミュラー

回答を編集して、そのリンクの詳細を含めることをお勧めします。回答は、リンクの「背後」に隠された最も重要な部分を保持してはなりません。
クリス

1
@Chrisリンクから詳細を追加しました。
マイク・ミュラー

22

Ipythonカーネル仕様を構成することにより、MacPortsのインストールを維持できるソリューションが利用可能です。

要件:

  • MacPortsは通常の/ optディレクトリにインストールされます
  • python 2.7はmacportsを介してインストールされます
  • python 3.4はmacportsを介してインストールされます
  • Ipythonがpython 2.7にインストールされている
  • Ipythonがpython 3.4にインストールされている

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ノートブックを選択できます。

あなたのパイソンを選択してください!


あなたが実行できることを確認してくださいすることができますpython2し、python3同じでサイド・バイ・サイドノートPCのカーネルをjupyterインスタンス?この場合、どのようにして正確にjupyter競合するパスがなくなり始めますか?私は現在、事前に適切な環境をセットアップすることによってのみ実行python2またはpython3コード化することができ$PATH $PYTHONPATHます。これをどうにかして回避できますか?
クリス

python2またはpython3カーネルノートブックを実行できます。
deltap 2015

どのように開始しますかjupyter(それがとにインストールされpython 2.7ている場合python 3.4)、$ PYTHONPATHを定義したか、または仮想環境を入手しましたか?呼んipython notebookでるだけ?もしそうなら、それipythonはそれを参照しています-2.7または3.4用にインストールされたもの?
クリス

ただ呼んでいpython notebookます。 which ipythonそれが指していることを示しています/opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin/ipython
deltap

申し分なく、私は私の問題を理解しました、そしてそれは$PYTHONPATHカーネルの切り替えを困難にする事前定義されたと関係がありました。unset PYTHONPATH始める前に私はしなければならなかった、ipythonそして今それはうまくいく。
クリス

18

私のLinuxインストールから私はしました:

sudo ipython2 kernelspec install-self

そして今、私のpython 2がリストに戻っています。

参照:

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


更新:

上記のメソッドは現在廃止されており、将来は削除される予定です。新しいメソッドは次のようになります。

sudo ipython2 kernel install


2
Ubuntuインストールにコマンドをランダムに貼り付けるのは嫌いですが、これでうまくいきました。
ジョセフ

1
選ばれた答えでなければなりません。
e9t 2016年

1
簡単に言えば、私はこのソリューションをMac OS Xに適用しましたが、問題なく動作します。
Konrad

1
私はすべての答えを試しました。しかし、これでうまくいきました。あなたがubuntuにいるなら、それを試してみてください。
-sinsuren

1
そして、どこで入手できipython2ますか?
sudo

5

次に、python2カーネルをjupyterノートブックに追加する手順を示します。

ターミナルを開き、新しいpython 2環境を作成します。 conda create -n py27 python=2.7

環境をアクティブ化:Linux source activate py27またはWindowsactivate py27

カーネルを環境にインストールします。 conda install notebook ipykernel

環境外のカーネルをインストールします。 ipython kernel install --user

環境を閉じます: source deactivate

遅い答えは誰かがそれが役に立つと思うことを願っています:p


これは、@ celの回答ですでに明確に述べられているもの以外には何も追加しません。
merv

3

sudo pip3 install jupyterpython3のjupyterのインストールとpython2のjupyter Notebookのインストールに使用しsudo pip install jupyterます。次に、ipython kernel installコマンドを呼び出して、両方のタイプのノートブックをjupyterノートブックから選択できるようにします。


1

私はこの優れた情報を見て、それから疑問に思いました

  1. 私はすべてpython2、python3、IPythonをインストールしています、
  2. PyCharmをインストールしました。
  3. PyCharmはPythonコンソールにIPythonを使用し、

場合 PyCharmを使用します

  1. メニュー>ファイル>設定>プロジェクト>プロジェクトインタープリターのIPython-py2 == py2 AND
  2. メニュー>ファイル>設定>プロジェクト>プロジェクトインタープリターのIPython-py3 =​​= py3

答え:はい!

PS iには、Windows用のPythonランチャーもインストールされています。


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カーネルから選択できます。


0
  • 仮想環境でanacondaを実行している場合。
  • また、新しいノートブックを作成しても、仮想環境のカーネルを選択するように表示されません。
  • 次に、次のコマンドを使用してipykernelに設定する必要があります
$ pip install --user ipykernel
$ python -m ipykernel install --user --name=test2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.