pybox2d とは
幾何学計算をするために、2D 物理エンジンの Box2D の Python ラッパーである pybox2d を Python3 に導入しました。
環境
- 64 bit Windows (Win7, Win10 で動作確認)
- python 3.6, 3.7
- Microsoft Visual Studio 14.0 の コンパイラが使える環境が構築済み
公式の手順に “Alternatively, install the correct version of Microsoft Visual Studio for your version of Python.” とだけ記載されている部分を具体的に実行した記録です。
python, swig は conda で入れていますが pybox2d は、setuptools でインストールしました。Box2D の testbed として pygame も pip でインストールしました。
手順
まず conda で別の環境を作りました
> conda create -n py36box python=3.6
> activate py36box
swig は conda で インストールし、cl コマンドのパスを通します
(py36box) c:\pybox2d> conda install -c conda-forge swig
(py36box) c:\pybox2d> pushd "c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
(py36box) c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>vcvarsall.bat amd64
(py36box) c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>cl # cl あり
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
ソースを取得して展開
https://github.com/pybox2d/pybox2d から pybox2d-master.zip をダウンロード。
pybox2d-master を展開した中でビルドする。ここでは、説明のため、c:\pybox2d フォルダに展開したことにする。
(py36box) c:\pybox2d> python setup.py build
(py36box) c:\pybox2d> python setup.py install
(py36box) c:\pybox2d> python examples\hello.py # モジュールのロードでエラーしないことの確認
(py36box) c:\pybox2d> pip install pygame # testbed の環境として pygame を導入。windows なら、これで大丈夫
(py36box) c:\pybox2d> python -m examples.web # examples\web.py はこういう呼び出し方をしないと動かない(python の ―m オプション)
基本的には、公式のインストール手順に近いものの、MSYS や MinGW をインストールしない手順です。
setup.py を使ってインストールたり、pygame は pip で導入したり、と導入手段が首尾一貫しないのですが、pybox2d が動作する環境が得られました。