web-dev-qa-db-ja.com

Jupyterノートブックでどちらが実行されているかを知る方法は?

PythonプログラミングのためにブラウザでJupyterノートブックを使用し、Anaconda(Python 3.5)をインストールしました。しかし、Jupyterはpythonコマンドをanacondaではなくネイティブpythonインタープリターで実行していると確信しています。どのように変更して、アナコンダをインタープリターとして使用できますか?

ありがとう!

Ubuntu 16.10-Anaconda3

36
Victor
from platform import python_version

print(python_version())

これにより、スクリプトを実行しているpythonの正確なバージョンが得られます。例:出力:

3.6.5
47
Davies Odu
import sys
sys.executable

通訳を提供します。新しいノートブックを作成するときに、必要なインタープリターを選択できます。アナコンダインタープリターへのパスがパスに追加されていることを確認します(bashrc/bash_profileのどこかにある可能性が高い)。

たとえば、.bash_profileに次の行があります:

export PATH="$HOME/anaconda3/bin:$PATH"
37
P. Camilleri
 import sys
 print(sys.executable)
 print(sys.version)
 print(sys.version_info)

以下に見る:-CONDA venvの外部でJupyterNotebookを実行したときの出力

/home/dhankar/anaconda2/bin/python
2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul  2 2016, 17:42:40) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)

コマンドで作成されたCONDA Venv内で同じJupyterNoteBookを実行すると、以下のようになります-

conda create -n py35 python=3.5 ## Here - py35 , is name of my VENV

私のJupyterノートブックでは、次のように出力されます。

/home/dhankar/anaconda2/envs/py35/bin/python
3.5.2 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
sys.version_info(major=3, minor=5, micro=2, releaselevel='final', serial=0)

Pythonの異なるバージョンで作成されたさまざまなVENVが既にある場合は、JupyterNotebookメニューからKERNEL >> CHANGE KERNELを選択して目的のカーネルに切り替えます... JupyterNotebookScreencapture

また、既存のCONDA仮想環境内にipykernelをインストールするには-

http://ipython.readthedocs.io/en/stable/install/kernel_install.html#kernels-for-different-environments

ソース--- https://github.com/jupyter/notebook/issues/1524

 $ /path/to/python -m  ipykernel install --help
 usage: ipython-kernel-install [-h] [--user] [--name NAME]
                          [--display-name DISPLAY_NAME]
                          [--profile PROFILE] [--prefix PREFIX]
                          [--sys-prefix]

IPythonカーネル仕様をインストールします。

オプション引数:-h、-helpこのヘルプメッセージを表示し、-userシステム全体の代わりに現在のユーザーにインストールします--name NAME kernelspecの名前を指定します。これは、複数のIPythonカーネルを同時に持つために必要です。 --display-name DISPLAY_NAME kernelspecの表示名を指定します。これは、複数のIPythonカーネルがある場合に役立ちます。 --profile PROFILEロードするIPythonプロファイルを指定します。これを使用して、カーネルのカスタムバージョンを作成できます。 --prefix PREFIX kernelspecのインストールプレフィックスを指定します。これは、conda/virtual-envなどのデフォルト以外の場所にインストールするために必要です。 --sys-prefix Pythonのsys.prefixにインストールします。 --prefix = '/ Users/bussonniermatthias/anaconda'の短縮形。 conda/virtual-envsで使用します。

14
Rohit Dhankar

間違ったバックエンドシステムがあると仮定すると、jupyterデータパスkernel.jsonkernelフォルダーに新しいjupyter --pathsを作成または編集することにより、バックエンドkernelsを変更できます。複数のカーネル(R、Python2、Python3(+ virtualenvs)、Haskell)を使用できます。 Anaconda特定のカーネルを作成できます:

$ <anaconda-path>/bin/python3 -m ipykernel install --user --name anaconda --display-name "Anaconda"

新しいカーネルを作成する必要があります。

<jupyter-data-dir>/kernels/anaconda/kernel.json

{
    "argv": [ "<anaconda-path>/bin/python3", "-m", "ipykernel", "-f", "{connection_file}" ],
    "display_name": "Anaconda",
    "language": "python"
}

ipykernelパッケージがanacondaディストリビューションにインストールされていることを確認する必要があります。

この方法では、カーネルを切り替えるだけで、異なるカーネルを使用して異なるノートブックを作成できます。

0
AChampion