apt-getでinstallしたpython-opencvがimport出来なかった
$ python
Python 2.5.2 (r252:60911, Jan 24 2010, 14:53:14)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv
python-opencvとしてinstallしたファイルはどこに
dpkgでLオプションを使うと表示できるようだ
$ dpkg -L python-opencv
/.
/usr
/usr/lib
/usr/lib/python-support
/usr/lib/python-support/python-opencv
/usr/lib/python-support/python-opencv/python2.5
/usr/lib/python-support/python-opencv/python2.5/opencv
/usr/lib/python-support/python-opencv/python2.5/opencv/_highgui.so
/usr/lib/python-support/python-opencv/python2.5/opencv/_cv.so
/usr/share
/usr/share/doc
/usr/share/doc/python-opencv
/usr/share/doc/python-opencv/copyright
/usr/share/doc/python-opencv/changelog.Debian.gz
/usr/share/doc/python-opencv/changelog.gz
/usr/share/python-support
/usr/share/python-support/python-opencv
/usr/share/python-support/python-opencv/opencv
/usr/share/python-support/python-opencv/opencv/highgui.py
/usr/share/python-support/python-opencv/opencv/__init__.py
/usr/share/python-support/python-opencv/opencv/matlab_syntax.py
/usr/share/python-support/python-opencv/opencv/cv.py
/usr/share/python-support/python-opencv/opencv/adaptors.py
/usr/share/python-support/python-opencv/opencv ディレクトリにcv.pyがあるので、ここにpythonのパスを通せば使えそう。
だが、同じディレクトリに__init__.py
がある。これはディレクトリのパッケージを初期化するファイル。
これが存在するということは、opencvというディレクトリがパッケージであるということなのだ。なのでopnecv
としてimportすれば使える。
$ python
Python 2.5.2 (r252:60911, Jan 24 2010, 14:53:14)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import opencv
>>>
ただ調べてみて分かったのは、import opencv
しかできないのは古いパッケージで、新しいパッケージではpythonのパス以下にcv.so
があり、import cv
が使えるようだった…。
import cvでokバージョン
$ dpkg -s python-opencv |grep Version Version: 2.1.0-3+squeeze1
import cv だめだったバージョン
$ dpkg -s python-opencv|grep Version Version: 1.0.0-6.1