2015年3月10日火曜日

CVXOPT, CHOMPACK の Windows 64bit バイナリの生成方法

Python のライブラリである CVXOPT, CHOMPACK のビルドの方法は、手順さえ分かってしまえば簡単に行えるので、手順を載せておく。
ここでは、CHOMPACK をインストールする。なお、CHOMPACK は CVXOPT を使っているので、CVXOPT をあらかじめインストールしておく必要がある。(CVXOPT の簡単なインストール方法は下のほうに書いておく。)

1. WinPython をダウンロードして展開する
これで、python 関係だけでなく、mingw32 などコンパイルに必要なものも一通りインストールされる
2. https://github.com/cvxopt/chompack/archive/master.zip
からソースをダウンロードして zip ファイルを展開すると、chompack-master というフォルダができる
3. http://sourceforge.net/projects/openblas/files/ の最新バージョンの
OpenBLAS-v(バージョン名)-Win64-int32.zip をダウンロードして zip ファイルを展開すると、lib フォルダの中に libopenblas.a があるので、これを chompack-master フォルダにコピーする
4. chompack-master フォルダにある setup.py を編集して
BLAS_LIB_DIR = ['./']
BLAS_LIB = ['openblas']
LAPACK_LIB = ['openblas']
とする
5. WinPython のフォルダにある「WinPython Command Prompt.exe」 を実行してコマンドプロンプトを開く
このコマンドプロンプトでは、mingw32 などのパスが自動的に設定されている
6. コマンドプロンプトのcd コマンドで chompack-master に移動する
7. ビルドする
 python setup.py build --compiler=mingw32
8. ビルドされたバイナリファイルをwheel ファイルにまとめる
これにより、 pip での install, uninstall が簡単に行える
 python setup.py bdist_wheel
9. dist/ フォルダに出来上がるので、これを pip でインストールする
cd dist
pip install chompack-2.2.1-cp34-none-win_amd64.whl
これでインストール終了である。

pip でインストールしてあるので、アンインストールするときも
pip unintall chompack
でアンインストールできる。

なお、CVXOPT については、WinPython のものだと BLAS との連携の関係でうまく実行できないときがあるので(OpenBLAS でない Reference BLAS を使うと、うまく実行できないケースがある)、
pip unintall cvxopt
で一度削除したうえで
http://www.lfd.uci.edu/~gohlke/pythonlibs/
から
cvxopt‑1.1.7+openblas‑cp34‑none‑win_amd64.whl
をダウンロードして
pip install cvxopt‑1.1.7+openblas‑cp34‑none‑win_amd64.whl
としてインストールする。
(pip install cvxopt だけだと pip の標準のレポジトリからインストールされてしまうので、ダウンロードしてファイル名で指定する。)


0 件のコメント:

コメントを投稿