今年の2月あたりにPCを買い替えた時、OpenCV2.1から2.2に変更をした。そんでpythonでOpenCVを使うようなものをたまに作ってはpy2exeで固めている。だけど固めた実行ファイルを他のPCで使うときに気をつけねばならない点を気にしていなかった。
まずそもそもpy2exeで固めたファイルを実行するには、pythonのバージョンに合わせたVC++のランタイムが必要。それはpython2.6ならば2008VC++。
そしてOpenCVを動かすにもVC++のランタイムが必要。OpenCV2.2のbinフォルダを除いたら、msvcp100.dllとmsvcr100.dllが入っていた。つまり2010VC++のランタイムが必要。
結論:
python2.6で書いた、OpenCV2.2を使ったスクリプトを、py2exeで固める。その実行ファイルを動かしたければ、VC++の2008と2010の二つのランタイムが実行されるマシンに入っていなければならん。
まずそもそもpy2exeで固めたファイルを実行するには、pythonのバージョンに合わせたVC++のランタイムが必要。それはpython2.6ならば2008VC++。
そしてOpenCVを動かすにもVC++のランタイムが必要。OpenCV2.2のbinフォルダを除いたら、msvcp100.dllとmsvcr100.dllが入っていた。つまり2010VC++のランタイムが必要。
結論:
python2.6で書いた、OpenCV2.2を使ったスクリプトを、py2exeで固める。その実行ファイルを動かしたければ、VC++の2008と2010の二つのランタイムが実行されるマシンに入っていなければならん。
スポンサーサイト