LoginSignup
2
2

More than 5 years have passed since last update.

pybox2d を python 3.6 以降の Windows にインストールする手順

Last updated at Posted at 2018-12-27

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 が動作する環境が得られました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2