Dockerでanaconda環境を作りpythonいじり
背景
当方mac使用。以前はmacOSに直接anacondaをダウンロードしていたが、macがCatelinaにアップデートされた事によってanacondaが使えなくなっていた(condaコマンドのPATHも通ってなく、事実上のアンインストール状態だった・・・)
ググって調べてみたら、どうやらanacondaはインストールし直した方が良いらしい(と公式も言っている)。
How to Restore Anaconda after Update to MacOS Catalina | Anaconda
でもここで思い出した。かねてよりanacondaがmacOSに入っている事でいろいろと苦労した事を。例えばAWS CLIをインストールした時なんかは、pipのインストールがAWS公式のやり方では全然うまくいかず対処法を調べるのだけで何時間もかかったり。
であれば、最初からDocker上にanaconda環境構築しちゃえば、macOS環境が汚染されず良さげじゃない??と思った。
主に参照したサイト
公式
非公式
この人たちがやってるみたいに、いずれはDockerfile作ったりJupyter Notebook起動できるようにしないといけないのだと思うが(コンテナ再ビルト必要?)、pythonと機械学習についてがまだ超超超〜初心者で勉強したてなので、とりあえずいいや。必要になったらやるってことで。
Docker & Anaconda3で機械学習環境を整える - Yuya Sugano - Medium
【画像で説明】DockerでAnaconda環境をつくり、コンテナの中でVSCodeを使う - Qiita
手順
公式の通り、
docker pull continuumio/anaconda3
でイメージをプルして、
docker run -i -t continuumio/anaconda3 /bin/bash
でコンテナの(ワークスペース的なところ?の)中に入れば、少なくともanacondaのpythonコマンドとか対話式シェルスクリプトとかは実行可能になった。
前述の通り、今のところはとりあえず以下の本読み進めながらpythonいじったり機械学習の基本を学びたいなって感じなので、とりあえずこれでよしかな。
ちゃんとした環境構築は必要になったらやる。
あとpythonファイルを実行したい時はコンテナ内にファイルを作ってしまって、catコマンドでテキスト流し込んで実行してやれば良い(viもvimもnanoもemacも使えないので)
touch test.py
cat << EOF > test.py
> def AND (x1, x2):
> w1, w2, theta = 0.5, 0.5, 0.7
> tmp = x1*w1 + x2*w2
> if tmp <= theta:
> return 0
> elif tmp > theta:
> return 1
>
> print(AND(0, 0))
python test.py
# 0って返って来る。
catコマンドの使い方はこのサイトを参考にしました!