Jupyterノートブック内から長時間実行するPythonスクリプトを実行して、途中で生成されたデータ構造をハックすることができます。特定のvirtualenvを使用してJupyterノートブック内でPythonスクリプトを実行
スクリプトには多くの依存関係とコマンドライン引数があり、特定のvirtualenvで実行されます。特定のvirtualenv(Jupyterインストールのそれとは違う)からノートブックの中で対話的にPythonスクリプトを実行することは可能ですか?
ありがとう!
Jupyterノートブック内から長時間実行するPythonスクリプトを実行して、途中で生成されたデータ構造をハックすることができます。特定のvirtualenvを使用してJupyterノートブック内でPythonスクリプトを実行
スクリプトには多くの依存関係とコマンドライン引数があり、特定のvirtualenvで実行されます。特定のvirtualenv(Jupyterインストールのそれとは違う)からノートブックの中で対話的にPythonスクリプトを実行することは可能ですか?
ありがとう!
私は、このリンクは非常に有用であることが判明:
https://ocefpaf.github.io/python4oceanographers/blog/2014/09/01/ipython_kernel/
はあなたのvirtualenvのにjupyterをインストールピップていることを確認してください。後でリンクが消える場合は、ここに要点があります:
新しいカーネルを作成する必要があります。あなたはJSONファイルでカーネルを指定します。あなたのカーネルは通常~/.ipython/kernels
にあります。あなたのvirtualenvの名前でディレクトリを作成し、その中にkernel.jsonファイルを作成します。例えば、私のパスのいずれかが~./ipython/kernels/datamanip/kernel.json
のように見えますここに私のkernel.jsonファイルは次のようになります。
{
"display_name": "Data Manipulation (Python2)",
"language": "python",
"codemirror_mode": {
"version": 3,
"name":"ipython"
},
"argv": [
"/Users/ed/.virtualenvs/datamanip/bin/python",
"-c",
"from IPython.kernel.zmq.kernelapp import main; main()",
"-f",
"{connection_file}"
]
}
私はcodemirror_modeオブジェクトがやっているまさに確かではないけど、それはしていないようです何か危害を加えなさい。
ノートブックのカーネルを他のノートブックで利用できるようにするもう少し簡単な方法です。
私はLinux + virtualenv + virtualenvwrapperを使用しています。異なるセットアップを使用している場合は、いくつかのコマンドを適切なものに変更してください。
mkvirtualenv jupyter2
workon jupyter2
(jupyter2) pip install jupyter
(jupyter2) ipython kernel install --name "jupyter2_Python_2" --user
最後のコマンドは~/.local/share/jupyter/kernels/jupyter2\ python\ 2/
ディレクトリ
mkvirtualenv -p /usr/bin/python3 jupyter3
// this uses python3 as default python in virtualenv
workon jupyter3
(jupyter3) pip install jupyter
(jupyter3) ipython kernel install --name "jupyter3_Python_3" --user
のために同じものを完了したら、あなたは関係なく、あなたがjupyterを開始するために使用しているもののenv、両方のカーネルを参照してくださいべきではありませんが作成されます。 ~/.local/share/jupyter/kernels/
に直接カーネルへのリンクを削除することができます。 場所を指定する場合は、ipython kernel install (--help)
にオプションを指定するか、1つのノートブックから複数のケレンネルを実行する場合は~/.local/share/jupyter/kernels/
〜~/envs/jupyter3/share/jupyter
のディレクトリをコピーしてください。
@歌手の解決策は私にとっては役に立たなかった。ここで働いていたものです:
. /path/to/virtualenv/.venv/bin/activate
python -m ipykernel install --user --name .venv --display-name .venv
参考:Kernels for different environments(公式ドキュメント)
はここ(非conda
のpython)私のために働いていたものです:。 (MacOSの、パイソンの醸造バージョン使用すると、システムのpythonを使用している場合、例えば、その後、新たに開始する場合は、sudo
と、各コマンド)
最初のアクティブ化virtualenvの
を付加必要があります(ます)があり、あなたは
(py2env)$ python -m ipykernel install --user --name testenv --display-name "Python2 (py2env)"
その後、ノートブックをjupyter起動設定、
$pip install virtualenvwrapper
$mkvirtualenv -p python2 py2env
$workon py2env
# This will activate virtualenv
(py2env)$
# Then install jupyter within the active virtualenv
(py2env)$ pip install jupyter
# jupyter comes with ipykernel, but somehow you manage to get an error due to ipykernel, then for reference ipykernel package can be installed using:
(py2env)$ pip install ipykernel
次virtualenvwrapperカーネルを使用することができjupyterに
(py2env)$ jupyter notebook
# or
#$ jupyter notebook
(venvは、このステップのために有効にする必要はありません)ノートブックのドロップダウンメニュー:Kernel >> Change Kernel >> <list of kernels>
Python2 (py2env)
カーネル
これにより、Pythonバージョンのカーネルを簡単に識別し、どちらかを並行して維持することもできます。ここ
は、それはあなたがあなたのIPythonのノートPC用にvirtualenvを使用することができますdocumentation
に基づいて、本当に簡単です詳細ドキュメント http://ipython.readthedocs.io/en/stable/install/kernel_install.html
ここで良いこと、ありがとう。私はipykernelのインストール手順を初めて行ったとき、それは取ることはなかったと言いたい。 –
へのリンクです。次のステップ、ステップ1のため、実際には不要に従ってください、ちょうどあなたが私の-virtualenvの名の#はあなたのvirtualenvのをアクティブにworkonあなたはvirtualenvに
をipythonカーネルモジュールをインストールしsource ~/path-to-your-virtualenv/
を経由してあなたのvirtualenvのをアクティブにしますあなたがいない場合は、すでに ピップは
をipykernelインストール(最も重要なステップ)今カーネル「自己インストール」のスクリプトを実行します。
をpython -m ipykernel install --user --name = my-virtualenv-name --nameパラメーターを適切に置き換えます。
カーネルは、IPythonのノートブックメニュー:Kernel -> Change kernel
で見ることができるはずです。リストに表示される前に、ページを更新する必要があるかもしれません。 IPythonはその後、そのノートブックにどのカーネルを使うべきかを覚えています。
ステップ1では、仮想envのスクリプトフォルダのpipを使用してipythonカーネルをインストールしますか?ステップ2では、スクリプトを実行しますか? Python。仮想環境のスクリプトフォルダにexeファイルがありますか?手順3では、どのディレクトリからノートブックを実行する必要がありますか? –
いいえ、私はそうは思わない。 – cel
あなたの問題を解決する別の方法はPyCharmのようなIDEを使うことです。あなたのプロジェクトに使用するvirtualenvを選択し、いくつかのブレークポイントを追加するだけです。実行がブレークポイントで一時停止すると、対話的にPythonコードを実行できます。 また、pdb(https://docs.python.org/3.5/library/pdb.html)をご覧ください。 – elgehelge