概要
Pythonで数理最適化のライブラリを実行できるDocker環境をつくりました。
数理最適化ってカッコイイ!やってみたい!!と思い↓2冊を始めたのですが、M1チップMacBookでライブラリが動かない・・・とハマりました。
本で紹介されている方法や先人が記事にしてくださっている方法だとpipとanacondaを混同しているものが多く、condaとpip:混ぜるな危険の危険を冒しそうに思っています。
特に本番環境で動作させる場合、他のライブラリとの依存関係も考慮することになるため、anaconda前提の構築は事故る可能性が非常に高いと思います。
ということで、pipのみで動作する数理最適化環境をつくりました。
Dockerを利用して構築するので、Mac以外でも動くはずです。
DockerコンテナをビルドしてブラウザからJupyter Notebookにアクセスするところまで書きます。
1. Dockerをインストール
以下からDockerをインストールしてください。
2. コンテナをビルド
↓のリポジトリでDockerfileなどを公開しているので、git cloneしてください。
cloneしたらコンテナをビルドします。
$ cd math_optimization_environment
$ chmod 755 install_cvxopt.sh
$ docker-compose up -d --build
3. ブラウザからJupyter Notebookにアクセス
正常にコンテナが立ち上がればブラウザからJupyter Notebookにアクセスできるはずです。
http://localhost:8888/
もし立ち上がっていない場合、ログにエラーが出ていることがあるので確認してみてください。
$ docker-compose logs -f