Kaggle Notebook(Kaggle Kernels)でcondaやvenvのような仮想環境を(出来るなら半永続的に)使用する事って可能なのでしょうか?
まず
!conda create -n hoge -y
!conda activate hoge
をしてみたら次のエラーが出ました。
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. To initialize your shell, run $ conda init <SHELL_NAME> Currently supported shells are: - bash - fish - tcsh - xonsh - zsh - powershell See 'conda init --help' for more information and options. IMPORTANT: You may need to close and restart your shell after running 'conda init'.
そこで
!conda init bash
をしてみてもう一度しましたが同じエラーが出ました。
次に「Restart & clear cell outputs」ボタンを押して見ましたが同じエラーが出ました。
「Factory reset」や「Stop session」ボタンを押すと作成したconda環境自体リセットされます。
また、永続的に使用するなら-nオプションではなく-pオプションで/kaggle/working上に作る必要があると思いますが勿論そちらでもactivateは出来ませんでした。
!source activate hoge
をしてみても何も出力表示されずその後
!conda info
をしても「active environment : None」のままです。
次にminicondaのインストール用shファイルをダウンロードして
!echo "" | bash Miniconda3-latest-Linux-x86_64.sh
をしてみても最初のEnterは進めるもののその後のmoreを進む事が出来ません。echoをyesに変えても同じでした。
別のターミナル環境でminicondaをインストールして出来たディレクトリminiconda3をzipコマンドでzip化してクラウドストレージ経由でkaggle notebook上に持ってきてから解凍して
!source miniconda3/bin/activate
をしてみても上手くいきませんでした。
次にvenvを試してみようと
!python3 -m venv c
をしても何も出力表示されず
!which python
をしてみると「/opt/conda/bin/python」と元のままでした。
■追記2023/01/15■
更に調べてみるとvenvについて
!source hoge/bin/activate;pip3 install hoge
のようにセミコロンを末尾につけるとその仮想環境で実行出来るようでした。ただ毎回そうしないといけないようです。普通のjupyter notebookなら
!source hoge/bin/activate;pip3 install ipykernel
!source hoge/bin/activate;ipython kernel install --user --name=hoge
でGUI上から切り替えが出来るんでしょうがkaggle notebook上にはそういうメニューはありません。これは切り替え出来ませんかね?
!jupyter kernelspec list
には
Available kernels:
hoge /root/.local/share/jupyter/kernels/hoge
python3 /opt/conda/share/jupyter/kernels/python3
が出てはきます。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。