2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

Poetry環境+VSCodeでJupyter Notebookを使って実行するとカーネルのエラーになる

Last updated at Posted at 2024-06-17

エラー内容

Poetry環境を作成し、VSCodeでカーネルを選択して.ipynbのセルを実行しようとしたところ、下記のエラーになった。

選択したカーネル
スクリーンショット 2024-06-17 12.06.08.png

エラー文

'Python 3.12.3' でセルを実行するには、 ipykernel パッケージが必要です。
次のコマンドを実行して、'ipykernel' を Python 環境にインストールします。
コマンド: '/usr/local/bin/python3 -m pip install ipykernel -U --user --force-reinstall'

解消法

ググってもよくわからなかったのでChatGPTにきいてみると、仮想環境用のカーネルを登録すればよいとのことだったので、実施してみると無事一発で解消した。

VSCodeのJupyter Notebook拡張機能が、Poetryで作成した仮想環境のipykernelを認識していないことで発生するエラーらしい。

1. Poetry環境で必要なパッケージをインストール

まず、Poetryでipykernelをインストールする必要があります。ターミナルを開いて、プロジェクトディレクトリに移動し、以下のコマンドを実行します。

poetry add ipykernel

2. 仮想環境のカーネルを登録

次に、Poetryの仮想環境をJupyterに認識させるため、仮想環境のPython実行ファイルを使ってカーネルを登録します。

poetry run python -m ipykernel install --user --name=your_env_name --display-name "Python (your_env_name)"

ここで、your_env_nameは仮想環境の名前です。好きな名前を付けてください。

3. VSCodeでカーネルを選択

VSCodeを再起動し、.ipynbファイルを再度開きます。次に、ノートブックの右上にあるカーネル選択メニュー(「Python 3.12.3」などと書かれている部分)をクリックし、先ほど登録したカーネルを選択します。

4. 必要な拡張機能の確認

VSCodeに以下の拡張機能がインストールされていることを確認します。

Jupyter
Python
これらがインストールされていない場合、VSCodeの拡張機能マネージャからインストールしてください。

5. 再試行

これで、.ipynbファイルのセルを実行して、エラーが解消されているか確認します。

結果

上記を試した結果、「Jupyter Kernel...」というのが選べるようになり、そこに先程作成したカーネルが表示されるので、それを選択すればよい。
ただ、最初に示した.venv/bin/pythonのカーネルを選択したままでも通るようになった。
スクリーンショット 2024-06-17 12.26.51.png

まとめ

エラーを投げるとだいたい1発で解消に導いてくれるので、ChatGPT先生はすごい。
同様のエラーがおきた方の参考になれば嬉しいです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?