AWS Cloud9にPython+OpenCVの開発環境を作りたい場合の環境構築手順です。
特に、各種インストールの部分が面倒だったのでまとめておきます。(ベストな方法かはわかりません、すみません。)
EC2の作成
私はEC2 instance type:t3.small
で作成しましたが、任意のインスタンスタイプを選んで作成してください。
Cloud9インスタンスのボリュームを拡張する
t3.smallのデフォルトのボリュームは10GiBです。
これだと色々とインストールしている段階で容量が足りなくなるので、容量を拡張します。(容量が足りなくなるとインストール時にNo space left on device
)と表示されます。
拡張手順は以下の記事を参照してください。
https://qiita.com/ktrkmk/items/8cf1e100da2e717f3be2
私は一旦30GiBまで拡張しました。
homebrewのインストール
以下のコマンドでインストールします。
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
パスが無いと言われるので、以下のコマンドを順番に実行して対処します。
$ test -d ~/.linuxbrew && PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH"
$ test -d /home/linuxbrew/.linuxbrew && PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH"
$ test -r ~/.bash_profile && echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.bash_profile
$ echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.profile
実行できるか確認します。バージョンが表示されればOKです。
$ brew -v
Homebrew 2.2.11
Homebrew/linuxbrew-core (git revision 9d9624; last commit 2020-04-05)
pyenvのインストール
以下のコマンドでインストールします。
$ brew install pyenv
実行できるか確認します。バージョンが表示されればOKです。
$ pyenv -v
pyenv 1.2.18
Pythonのインストール
インストールしたいバージョンを指定して実行します。(今回は3.8.1です。)
$ pyenv install 3.8.1
インストールされているか確認します。
$ pyenv versions
* system (set by /home/ec2-user/.pyenv/version)
3.8.1
3.8.1
が表示されていますが、*
がsystem
の方についているので、これを変更します。
$ pyenv global 3.8.1
もう一度確認します。
$ pyenv versions
system (set by /home/ec2-user/.pyenv/version)
* 3.8.1
3.8.1
に*
が移動していればOKです。
bash_profileを編集する
ここで改めてPythonのバージョンを確認します。
$ python --version
Python 3.6.10
恐らく、元のPythonバージョンが表示されるので、bash_profile
を編集して、pyenvのPythonバージョンを実行できるようにします。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
$ exec $SHELL -l
Pythonのバージョンを確認し、反映されていればOKです。
$ python --version
Python 3.8.1
Open CVをインストール
最初は
$ brew install opencv
これでインストールしようと思ったのですが、うまく行かず…
なので、pip
を使いました。
$ pip install opencv-python
インストールできているか確かめるには
$ python
>>> import cv2
で何もメッセージが出なければOKです。
以上で、環境構築は完了です。
参考
https://qiita.com/nasuvitz/items/5eec6ab9444cff8e9467
https://prog-8.com/docs/python-env
https://www.lifewithpython.com/2018/01/python-checking-version.html
https://news.mynavi.jp/article/zeropython-34/
https://qiita.com/makki_maki04/items/f62c5e4e68709d9b3b89
https://dev.classmethod.jp/articles/aws-cloud9-pyenv/