Windows11 で機械学習用に WSL2 の環境構築したときのメモ
だいぶまえにWSL2+Ubuntuを入れてたが、ゼロから環境構築したくなって、やりなおしたときのメモ。2023年春。またやり直すことがある気がしてそのときのために雑にメモ。
Ubuntu を消して、Ubuntuを入れる
Windows 設定の 「Apps > Installed apps」から Ubuntu を消す。
Microsoft Store アプリから Ubuntu をインストール
- wsl -l -v でステータスを一覧可能
- wsl -u kida で Ubuntu に入れる
初期設定
sudo apt-get update && sudo apt-get upgrade
zsh + prezto
shellがデフォルトはbashなのでzshに変更する。
sudo apt-get install zsh
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
以下のコマンドでzsh に設定して
chsh -s $(which zsh)
exit
wsl
するとzshの設定をしませんか?と聞かれる 2 を選んだ
sudo apt-get install fonts-powerline
prompt -p でテーマを選べるがデフォルトのやつが一番好き
以下は覚えておくと便利なコマンド
# 現在どっち?のシェルか?
echo $SHELL
# 使用可能なリスト
cat /etc/shells
# zshrc の再読み込み
source ~/.zshrc
volta
Node.jsの環境構築
インストール
curl https://get.volta.sh/ | bash
wsl 再起動(1回 exit して wsl で入りなおす)
volta install node && volta install npm
github copilot cli
$ npm install -g @githubnext/github-copilot-cli
$ github-copilot-cli auth
ページ開いて認証する
$code ~/.zshrc
でファイルを開いて、以下の一文を添える
eval "$(github-copilot-cli alias -- "$0")"
pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
zshrc に以下を追加
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
global に python を入れる
sudo apt install gcc make build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libbz2-dev libreadline-dev libffi-devel libffi-dev liblzma-dev
pyenv install 3.10.6
pyenv global 3.10.6
pyenv-virtualenv
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
pyenv virtualenv 3.10.6 sd-webui
zshrc に以下を追加
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.profile
知っておくと便利なコマンドメモ
# install 可能な anacondaを検索
pyenv install -l | grep anaconda
# env つくる
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
# env 削除
pyenv uninstall 3.8.2/envs/greenhouse
cuda, cudnn
nvidia の このページの Option 1: Installation of Linux x86 CUDA Toolkit using WSL-Ubuntu Package - Recommended のリンクの「 download page for WSL-Ubuntu」を開いて出てくるこの CUDA Toolkit 12.1 Downloads のページで
- OS : Linux
- arch : x86_64
- Distribution : WSL-Ubuntu
- Version : 2
- Installer Type : dev
を選んで出てくるコードをコピペ
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin && sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 && wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb && sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.0-1_amd64.deb && sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/ && sudo apt-get update && sudo apt-get -y install cuda
cudnn はここに書いてる内容のまま、そのままコピペ
参考にした記事 :
- WSL2にUbuntu22.04とCUDAをインストールしてJupyterLab上でStable Diffusionを動かしたメモ
- WSLで動かす AUTOMATIC1111 stable-diffusion-webui
バックアップして、Dドライブで実行
1回 WSL を出て、Dドライブに移動しフォルダで以下を実行し、Dドライブに入れなおす
wsl.exe --export Ubuntu Ubuntu-22.04-kida.tar
wsl --import Ubuntu D:\08-WSL D:\08-WSL\Ubuntu-22.04-kida.tar
参考
anaocnda
機械学習ライブラリの install に conda が出てくることがある。 (clipとか)
pyenv 使って入れてしまったので共存の道を探る。
pyenv + conda の環境構築メモ
install
pyenv install -l | grep anaconda
pyenv install anaconda3-2023.03
pyenv global anaconda3-2023.03
環境構築はふつうは以下なんだけど、pyenv と共有の環境だとちょっと違う
conda create -n clip python=3.10
この 3.pyenv-virtualenv を入れる て方法に従う
pyenv activate anaconda3-2023.03/envs/clip
pyenv deactivate
env を有効化する時は「conda」と「conda 以外」でわける必要がある
- pyenv activate: condaの時はこっち
- pyenv local : conda以外の環境を使う時
その他
- asdf 試したが、virtualenv 的なのをべつで作る必要があるっぽくて今回はやめました
- direnv とか anyenv とか色々あるっぽいので、また試したい
- docker コンテナ内にjupyterたてて、vscodeからアクセスする方法も気になる
追加メモ :
- 機械学習をライブラリをいろいろためすだけの環境なら、anaconda だけでいいのかもしれない
- pyenv,virtualenv いらないのかも。本番は anaconda入ってるとややこしくなることがあるけど。
- pip でなくて、poetryも試してみたい
- 「pyenv+venv+pipは実質pipenvなのでpipenvで良さ」というツイートをみかけて、pipenvもきになる
Git
it-ecosystem/git-credential-manager の Releases から exe をダウンロードして
Linux 用 Windows サブシステムで Git の使用を開始する に書かれてる git のバ
ージョンに応じたコマンドを打つ。自分の場合は以下。
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/libexec/git-core/git-credential-manager.exe"
VSCode
GitHub Copilotは WSL に個別にインストールが必要だった。