python であるモジュールをimport したときに期待した動作をしないことがあった。
そのとき以下のような項目をチェックした。
例としてcv2で記述します。
- pythonコマンドで起動するpythonのバージョンのチェック
Linux $ which python
- python のサードパーティのモジュールが置かれるpathの確認
- import したモジュールのバージョンの確認
>>> import cv2
>>> cv2.__version__
'2.4.11'
- import したモジュールのファイル名の確認
>>> cv2.__file__
'C:\\Python27\\lib\\site-packages\\cv2.pyd'
このようなチェックをすると、意図していない版が動いているかどうかを確認できます。
さらに必要なチェック項目
- ライブラリをビルドしたときの条件
- OpenMP を使っているか
- Cuda を使っているか
- その他のビルド条件
>>> print cv2.getBuildInformation()
General configuration for OpenCV 2.4.11 =====================================
Version control: 2.4.11
Platform:
Host: Windows 6.1 AMD64
CMake: 2.8.11.2
CMake generator: Visual Studio 10
CMake build tool: C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe
MSVC: 1600
C/C++:
Built as dynamic libs?: NO
(以下略)
Other third-party libraries:
Use IPP: NO
Use Eigen: NO
Use TBB: NO
Use OpenMP: NO
Use GCD NO
Use Concurrency YES
Use C=: NO
Use Cuda: NO
Use OpenCL: YES