1

やあ!

Python でチェス エンジンを作成し、それを py2exe を使用して .exe にコンパイルしました。問題は、すべての奇妙なファイルを同じフォルダー (dist) にまとめると、見栄えがよくないことです。すべてのヘルパー ファイルを含む dist フォルダー内に新しいフォルダーを作成したいので、dist フォルダーに含まれるのは、ヘルパー ファイルとメインの起動アプリケーションを保持するフォルダーだけです。ただし、ヘルパー ファイルを新しいフォルダーに単純にコピーすることはできません。コンピューターがそれらを見つけられず、エラーが発生するためです。

どうすれば解決できますか?また、私は inno setup を使用してインストールを行っていますが、そこで解決策を見つける方法もわかりません。

どうもありがとうございました!

4

2 に答える 2

1

py2exe の構成には、すべての Python ファイルを 1 つのファイルにバンドルできる機能がありlibrary.zipます。これにより、ルート ディレクトリ内のファイルの量が大幅に削減されますが、それでもいくつかのファイルは残ります。

これらのファイルは通常、少なくとも GUI アプリケーションで見たものからは DLL ファイルです。これらはアプリケーションの起動に必要なため、削除できません。この問題の回避策は、子ディレクトリにある実際のプログラムを実行するバッチ ファイルを作成することです。ポイントは、これらのファイルは、実行可能ファイルと同じディレクトリ、現在の作業ディレクトリ、またはPATH環境変数のパスのいずれかにある必要があるということです。少なくとも、これらのほとんどはそうです。cd別のアプローチは、PATH変数または別のディレクトリを変更して後でファイルを実行するバッチファイルである可能性があります

私はそれをやろうとしたことがないので、あなたにとっていくつかのことが壊れるかもしれません. とにかく、IMO の最善の方法は、インストーラーを作成してショートカットを追加することです。ユーザーがこれらのファイルをいじる必要はありません。

于 2012-11-05T17:17:53.717 に答える
0

代わりに pyinstaller を使用してみてください。使い方は簡単で、PythonLib と必要なすべての Python ファイルをスタンドアロンの EXE にコンパイルします。そのため、dist ファイル内のファイルが混乱することを心配する必要はありません。(1 つの exe ファイルのみ)。

また、データベース、テキスト ファイル、csv などの他の外部ファイルがある場合。など... inno setup [Files] セクションから、必要な方法でデプロイするように設定できます。

これについては、昨日詳しく説明したので、次のリンクを参照してください。

https://stackoverflow.com/a/13259452/1339024

- 編集 -

* pyinstaller 1.5 を使用していることを確認してください。2.x バージョンはまったく同じように動作しないためです。

于 2012-11-08T02:51:15.673 に答える