お菓子と紅茶と、時々IT

趣味のお菓子(作る方)と紅茶の話、そして今進めているIT(プログラミングなど)に関する勉強の記録。

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環境が汚染されず良さげじゃない??と思った。

主に参照したサイト

公式

Docker Hub

非公式

この人たちがやってるみたいに、いずれは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いじったり機械学習の基本を学びたいなって感じなので、とりあえずこれでよしかな。

www.amazon.co.jp

www.amazon.co.jp

ちゃんとした環境構築は必要になったらやる。

あと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コマンドの使い方はこのサイトを参考にしました!

http:// http://dqn.sakusakutto.jp/2011/07/linux-cat.html