win11 + linux + pyenv + conda + python
windows 11ではlinux subsystemがwindows10以上に簡単にubuntuがインストールできる.そこにpythonの標準環境とconda環境を構築してみる.以下の作業全部で3時間程度である。
1)linux subsystemとubuntuのインストール
管理者権限で起動した windows コマンドプロンプトで、
$ wsl --install
を行って、windows のlinux subsystem にubuntuをインストールする。
コンピュータを再起動、ubuntuに私用するuser idとパスワード(パスワードは表示されない)を入力して,インストール終了.
なお、bitlockerで暗号化しているドライブがあると、そのドライブをdecodeしてから、ubuntuを起動すること。そうしないと、起動時にエラーが出る。
2) aptのupdate
aptをupdateしないとaptでのインストールがエラーになることがある。そこで
$ sudo apt update
を行って、aptをupdateする。
3) 標準python install
上記ubuntuにはインストール直後にpythonが入っていない.そこで,標準の(仮想環境ではない)pythonをまず
$ sudo apt-get install python3
でインストールする.一瞬でインストールできて(ひょっとしたら最初から入っていて?),python3で起動できる.2022年9月6日時点で,python 3.8.2がインストールされる.
4) pyenv のインストール
$ cd /usr/local
$ sudo mkdir pyenv
$ sudo chown minobe pyenv
$ git clone https://github.com/yyuu/pyenv.git ./pyenv
5) 仮想環境python install
仮想環境のpythonをインストールする。
cd pyenv/bin/
pyenv install -l | grep ana # anaconda のversion確認、anaconda3-2022.05が最新であるようだ。
./pyenv install anaconda3-2022.05
これで/home/minobe/.pyenv/versions/anaconda3-2022.05がインストールされる。以下の手続きでpython 3.9をインストールする
$ ./pyenv global anaconda3-2022.05
$ cd ~/.pyenv/versions/anaconda3-2022.05/bin
$ ./conda create --name py3.9 python=3.9 anaconda # 3.10はpackage conflictでインストールできなかった
6) 追加パッケージのインストール
conda install --name py3.9 --channel conda-forge パッケージ名で
xarray, netcdf4, dask, cartopy, dill, spectru, python-magic, gsw (Gibbs SeaWater Oceanographic Package of TEOS-10), cdsapi (ERA5などのデータダウンロード用)、eofs, さらに機械学習用のtensorflow, keras, xgboost, lightgbmをインストールした。
この際tensorflowでanaconda が 2022.05-py39_0 --> custom-py39_1 にグレードされる。またこのダウングレード前のanacondaが2022.05-py39_0で、上でインストールしたanaconda3-2022.05とは異なっていることから、tensorflowのインストール前にダウングレードされのだろう。