CSLAIERでツールインストール後に出るエラー「ImportError: No module named cv2」の対応

mobile-phone-1513945_1280
LINEで送る
Share on GREE
Share on LinkedIn

SONYの作ったDeepLearningのOSS「CSLAIER」、非常に簡単に画像認識の機械学習が行えるとのことで、とりあえず、インストールして環境構築しようと作業を薦めていた所、
インストールが完了して、いざ起動して無事にデフォルトの8080ポートでターミナルで待受状態になったのでブラウザでアクセスしてみたところ、

Internal Server Error

と表示されて、ターミナルでもエラーが出ていたので、それに対応した経過をメモしておきます。

環境

もともと、会社のオンプレサーバーとして使っていて、古くなったから使われなくなった機材をもったいないので機械学習用の環境として構築しようと考えた。
業務用WEBサーバーの為、GUIなどがなく、もちろんGPUなどは搭載されていないので、思い切ってCentOSを入れてみることにした。
メモリは8MBでHDDは256GBぐらい搭載されている。
CPUは、IntelのCorei5ぐらいで、まあまあのスペックだが、機械学習で使うにはあまりにも非力と認識している。
でも、とりあえずラズパイ使うよりはいいや・・・という感覚。

問題発生

画面に「Internal Server Error」と出ている時、ターミナルには以下のメッセージ。

ImportError: No module named cv2

という文字が出ていた・・・これはどうやらOpenCVがPythonでInstallできないというエラーである。
通常のWEBサーバーであれば、InternalServerErrorは500番エラーという事でCGIエラーやパーミッションの不具合なのだが、
今回は「CSLAIER」というツールで動いているのでApacheもNginxも立ち上がっていない状態。
Pythonでの不具合であることは間違いない。

OpenCVの対応

実はインストールは完了していたOpenCVがPythonにパスが通っていないという事が分かった。
対応としては、ググればすぐに出てきますが「/usr/local/lib/python2.7/site-packages」という階層がPYTHONPASSのデフォルトディレクトリに入っていない事が原因とのこと。
以下の操作で、確認、追加を行うことで、対応完了できた。

上記でOK。これで、cv2をimportしてみてエラーが出なければOK

あれ?まだエラーが出る・・・
「cv2.so」ファイルは存在するのに・・・
そして、どうやらpythonモジュールとしてインストールされていなかったらしい。

これでどうやら、うまくいったらしい。

しかし、このままでは、再起動などをすると、また元に戻ってしまうので、PYTHONPASSをログインしてもこの状態にするために、以下を実行

参考ページ


Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*