要約(tldr)
'python3'カーネルが起動した環境から常にPythonインストールを実行するようにしたい場合は、現在の環境が何よりも優先されているユーザー 'python3'カーネルを削除します。
jupyter kernelspec remove python3
完全なソリューション
私は次の場合のための代替的で簡単な解決策を投稿します:
- コンダ環境を作成しました
- この環境にはjupyterがインストールされています(これによりipykernelもインストールされます)
- コマンドを実行すると
jupyter notebook
[新規]ドロップダウンメニューで[python3]をクリックして新しいノートブックを作成すると、そのノートブックは現在の環境からではなく、ベース環境からpythonを実行します。
- 任意の環境内で「python3」を使用して新しいノートブックを起動すると、ベースではなくその環境からPythonバージョンが実行されるようにしたい
残りのソリューションの環境には 'test_env'という名前を使用します。また、 'python3'はカーネルの名前です。
現在トップ投票の回答は機能しますが、別の方法があります。それは次のことをするように言います:
python -m ipykernel install --user --name test_env --display-name "Python (test_env)"
これにより、どの環境jupyter notebook
から起動するかに関係なく、test_env環境を使用するオプションが提供されます。ただし、「python3」でノートブックを起動すると、基本環境からのPythonインストールが引き続き使用されます。
起こっている可能性が高いのは、存在するユーザーpython3カーネルがあることです。コマンドjupyter kernelspec list
を実行して、すべての環境をリストします。たとえば、Macを使用している場合は、次が返されます(私のユーザー名はTedです)。
python3 /Users/Ted/Library/Jupyter/kernels/python3
ここでJupyterが実行しているのは、カーネルを探す3つの異なるパスを検索することです。それから行くユーザーに、Envのに、システム。このドキュメントを参照してくださいには、各オペレーティングシステムを検索パスの詳細については、を。
上記の2つのカーネルはどちらもユーザーパスにあります。つまり、jupyterノートブックを起動する環境に関係なく使用できます。これは、環境レベルに別の「python3」カーネルがある場合、そのカーネルにアクセスできないことも意味します。
私にとって、ノートブックを起動した環境から 'python3'カーネルを選択すると、その環境からPythonを実行することがより理にかなっています。
OSのEnv検索パスを調べることで、別の 'python3'環境があるかどうかを確認できます(上記のドキュメントへのリンクを参照)。私(mac)では、次のコマンドを発行しました。
ls /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels
そして私は確かに「python3」カーネルをそこにリストしました。
このGitHubの問題のコメントのおかげで(最初の応答を見てください)、次のコマンドを使用してUser 'python3'環境を削除できます。
jupyter kernelspec remove python3
jupyter kernelspec list
test_envがまだアクティブであると想定してを実行すると、次の結果が得られます。
python3 /Users/Ted/anaconda3/envs/test_env/share/jupyter/kernels/python3
このパスはtest_envディレクトリ内にあることに注意してください。新しい環境を作成し、jupyterをインストールしてアクティブ化し、カーネルを一覧表示すると、環境パスに別の「python3」カーネルが配置されます。
ユーザー 'python3'カーネルは、Env 'python3'カーネルのどれよりも優先されていました。それを削除することにより、アクティブな環境「python3」カーネルが公開され、毎回選択できるようになりました。これにより、手動でカーネルを作成する必要がなくなります。また、単一の環境に自分自身を分離したい場合のソフトウェア開発の面でも、より理にかなっています。ホスト環境とは異なるカーネルを実行するのは自然なことではありません。
また、このユーザー「python3」はデフォルトで全員にインストールされているわけではないため、誰もがこの問題に直面しているわけではありません。
conda install ipykernel
その環境で実行します。