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: trusty

script:

  • 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に書いて探すとよいでしょう。

ノート   このエントリーをはてなブックマークに追加 
 

prev:第26回シェル芸勉強会及びエクシェル芸勉強会 next:第26回シェル芸勉強会及びエクシェル芸勉強会リンク集

やり散らかし一覧

記事いろいろ