前提条件
項目 | 内容 |
---|---|
使用ディストリビューション | Ubuntu 20.04 LTS |
Python 環境 | Anaconda |
PC 環境 | SLAT 等必要なハードウェアが揃っていること |
更新履歴
日付 | 内容 |
---|---|
2021/08/18 | Pyenvの仕様変更に追随 https://github.com/lewagon/dotfiles/pull/90 |
WSL 2環境を準備
-
Windowsの機能の有効化を行う: Linux用Windowsサブシステムと仮想マシンプラットフォームを有効化
- コントロールパネルのWindowsの機能の有効化または無効化から行う
-
Microsoft StoreからUbuntu 20.04LTSをインストール
-
WSL 2にバージョンを変更 WSLの一覧は以下のコマンドで確認できる。
wsl -l -v
このコマンドの結果は例えば以下のようになる。
NAME STATE VERSION
* Ubuntu-18.04 Stopped 1
docker-desktop Stopped 2
Ubuntu-20.04 Running 2
docker-desktop-data Stopped 2Ubuntu 20.04をWSL 2にするには以下のようなコマンドを実行する。
wsl --set-version Ubuntu-20.04 2
AnacondaでJupyter環境を構築する
Python環境の構築はデータサイエンティストを目指す人のpython環境構築 2016を参考にして、一部のステップをアップデートしています。
アップデートの内容としては、参考記事では旧版のAnacondaがベースとなっているため、サーチパスを変更した結果、pyenvとAnacondaが一部競合を起こしていますが、これは現在のAnacondaでは解決している問題なので、変更を反映しています。また、それに伴い、bashの設定の変更をするためのステップを追加しています。
pyenvをインストールする
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
Anacondaをインストールする
pyenv install -l | grep ana
# 最新版を確認する
pyenv install anaconda3-yyyy.MM
# 先のステップで確認した最新版にする
pyenv rehash
pyenv global anaconda3-yyyy.MM
conda update conda
conda init bash
source ~/.bashrc
dotnet coreをインストールする (オプション)
wget -nv https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo add-apt-repository universe
sudo apt update
sudo apt install apt-transport-https -y
sudo apt install dotnet-sdk-5.0 -y
# 現状の最新版の5をインストールする
venv環境を用意する (オプション)
現在、Pythonのパッケージはconda、pipとなっており、どれを使えるかは状況次第です。ただ、幾つかのパッケージはpip環境しかないこともあり、venv環境もあると便利です。condaとpipの混用は危険であり避けるべきです。
condaとpip:混ぜるな危険 - onoz000’s blog
そのため、Anacondaからvenvを用いて、pip用の仮想環境を取り出します。 venvの仮想環境は以下のコマンドで作成できます。
python -m venv 仮想環境名
このコマンドはcondaのconda createとは違い、カレントディレクトリの下に仮想環境名でディレクトリを作ってその中に仮想環境が作成されます。