2

私は cx_Freeze で exe を作成し、誇らしげにそれを同僚に引き渡しました...そしてすぐにクラッシュしました (「アプリケーションを正しく起動できませんでした」)。彼が私のexeを実行するとき、またはそれが私が心配すべき何か他のものである場合、準備ができています。(そうでしたら、もう少し調べてみます)

Python 2.7 64 ビット、Wxpython、および Cx_Freeze 4.2.7 を使用しています。

アップデート:

そのため、Python 2.7 をダウンロードすると実際に問題が解決することがわかりましたが、これは私が本当に望んでいるものではありません。setup.py スクリプトで正しいオプションを選択すると、本当にスタンドアロンを作成できると聞きましたが、これを行う方法を知っている人はいますか? ファイルサイズは問題ありません。

4

2 に答える 2

3

cx_Freeze の目的は、ユーザーが Python をインストールする必要がないようにすることです。ただし、cx_Freeze によって自動的に分類されない DLL 依存関係が存在する場合があります。一例として、最近の「ImportError: cx_Freeze で凍結されたアプリケーションで win32clipboard をインポートするときに DLL の読み込みに失敗しました」に関する私の最近の質問と回答を参照してください。

しかし、「アプリケーションを正しく開始できませんでした」というメッセージが表示された場合、問題は暗黙的なリンク DLL の依存関係にあるように思えます。Dependency Walkerを使用して、欠落している DLL を追跡してみてください。結果をお知らせください。

于 2012-06-21T02:03:37.247 に答える
2

いいえ、Python をインストールする必要はありません。cx_Freeze は Python DLL をビルド フォルダーにコピーする必要があります。EXE を実行するときに、ビルド フォルダー内のすべてのファイルがまだ EXE にあることを確認してください。

ただし、Python が必要とする Microsoft の「Visual C++ 再頒布可能パッケージ」をインストールする必要があるかもしれません。法的な理由から、cx_Freeze が自動的にそれを含めることはできないと思います(ただし、私は弁護士ではありません。間違っていることが証明されてうれしいです)。詳細はドキュメントにあります:

http://cx_freeze.readthedocs.org/en/latest/overview.html#microsoft-visual-c-2008-redistributable-package

または、アプリケーションのバンドルに別の問題がある可能性があります。そのエラーメッセージの原因がわかりません。

于 2012-06-13T00:36:59.590 に答える