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のインストール前にダウングレードされのだろう。