Python2.7でOpenCVを使ったコードをTravis CI(まだUbuntu 14.04)でテストするときの設定
Tue Jan 3 13:25:15 JST 2017 (modified: Tue Sep 19 13:17:34 JST 2017)
views: 2109, keywords:プログラミング,OpenCV,Python,Travis この記事は最終更新日が7年以上前のものです。
新年早々ドハマりしたのでメモ。環境はTravisCI標準のUbuntu 14.04(いつになったら16.04になるんでしょうか?!?!?!)。OpenCVはaptで入るバージョンです。
.travis.ymlはこんな感じ。PYTHONPATHを設定するという正解にたどり着くまでに3時間くらいかかりました・・・
sudo: required dist: trustyscript:
- sudo apt-get update
- sudo apt-get install libopencv-dev python-opencv
- export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
- ./test.py
./test.pyというのはこれ。
#!/usr/bin/env python import cv2 print cv2.__version__
PYTHONPATHの設定がないと
$ ./test.py Traceback (most recent call last): File "./test.py", line 2, inとなってテスト(といっても何もテストしてませんが)が失敗します。import cv2 ImportError: No module named cv2
PYTHONPATHの行を加えてテストを走らせてログを見ると
libdc1394 error: Failed to initialize libdc1394と出ますが、./test.pyの終了ステータスは0で無事に成功と表示されました。
デスクトップでも「ImportError: No module named cv2」と出るときはPYTHONPATHを疑うということで。
補足
PYTHONPATHで加えるべきディレクトリは
sudo find / | grep -F cv2.soで検索できるので、.travis.ymlに書いて探すとよいでしょう。