LoginSignup
0
0

More than 1 year has passed since last update.

conda base環境上でvenv仮想環境を作るとjupyterのカーネル追加がうまくいかなかい

Posted at

起きたこと

condaのbase環境が起動している状態(下写真)でvenvを利用して仮想環境test_envを作成、起動し、必要なライブラリをインストールした。その後、jupyter でも使えるように、pip install ipykernelipython kernel install --user --name=test_envをして、jupyter上にカーネルを追加した。
その後、jupyter notebookを起動し、カーネルをtest_envに選択し、import ライブラリ名を実行すると(ここではtorchinfo)Module not found: torchinfoと出た。

スクリーンショット 2022-02-11 15.57.56.png

原因と解消方法

いろいろ検証してみると、torchがbase環境上にあるバージョンのものを指定していたので、おそらく追加したカーネルがbase環境で覆われてしまっているのではないかと考えた。さらに検証した結果、以下のような回避方法があることがわかった。

  • 最初の仮想環境作成前に、conda deactivate baseか何かでbase環境を終了させた上で、コンピュータ上にある別のpythonにあるvenvで仮想環境を作成する

    • こうした場合は、base環境上が起動している状態で起動して、上記の手順を踏んだとしても(また後者の手順を踏んだとしても)、jupyter 上で正しくカーネルが認識された
  • 仮想環境作成時に、base環境が起動している状態で作成してしまった場合、仮想環境上で、base環境を終了させた上でipython kernel install --user --name=test_envを実行する。

    • こうした場合は仮にbase環境が起動している状態で作成してしまったとしてもjupyter 上で正しくカーネルが認識された。今回はこちらで解決させた

結論

base環境上でvenvするな

0
0
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
0
0