6

opencv を使用する、Windows の下の Python で小さなアプリケーションを設計しました。python/opencv/numpy をインストールしなくても、誰でもインストールして使用できるように、実行可能ファイルを作成しようとしています。. .

これにはpy2exeを使用しようとしました。ビルド中に警告が表示されても、実際には .exe ファイルが作成されます。

*** copy dlls ***
copying C:\Windows\system32\MSVFW32.dll -> 
...
The following modules appear to be missing
['cv2.cv']

コマンド ラインを使用して .exe ファイルを実行しようとすると、次のメッセージが表示されます。

ImportError: numpy.core.multiarray failed to import

私の setup.py ファイルはとてもシンプルです:

# creating executable here
from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options = {'py2exe': {'bundle_files': 1}},
    console=['facemovie.py'],
    zipfile = None,
)

どうすればこれを解決できますか?展開したいのはこれが初めてで、何か不足している可能性があります。

ありがとう !

4

4 に答える 4

3

また、 PyInstallerの使用をお勧めします。pycryptoとtwistedの両方を参照する私のプロジェクトに使用しましたが、それは魅力のように機能しました。

于 2012-04-19T21:14:57.557 に答える
2

この投稿によると、py2exeは、このモジュールが ZIP アーカイブ内で必要であることを検出していません。正しい構文がわからないので、ドキュメントを確認する必要がありますが、試すことができます:

python setup.py py2exe -p cv2

またはsetup.py、次のように微調整してみてください。

options = {'py2exe': {'bundle_files': 1, 'packages': 'cv2' } },

そして、まったく違うことを試してみたい場合は、bbfreezeを見てください:

Python スクリプトからスタンドアロンの実行可能ファイルを作成する

于 2012-04-19T20:47:41.223 に答える
2

ありがとうカールフィリップ、あなたは私を軌道に乗せました。

「ソフトウェアユーティリティの変更」ソリューションを避けたかったので、Py2exeに固執しました。

実際、OpenCVは正しく見つかりましたが、ライブラリ自体には無数の依存性があり、検出されませんでした。

したがって、私の実用的なソリューションは最終的に次のとおりです: options = {'py2exe': {'bundle_files': 1, 'includes': 'numpy' } },

最終的な実行可能ファイルはかなり大きいですが、スムーズに実行されます。

ソフトウェアがインストールされていない別のコンピューターでは試していませんが、驚くべきことが起こるかもしれません。

ご協力ありがとうございました。

于 2012-04-20T23:14:39.190 に答える