1

私の問題は次のとおりです。他の実行可能ファイルを作成できるスクリプトを作成したい。これらの新しい実行可能ファイルはスタンドアロンである必要があるため、DLLなどは必要ありません。これはPyInstallerで可能ですが、コンソール/コマンドラインからのみ可能です。つまり、基本的に、私がやりたいのは、pyinstallerをインポートし、別の.pyファイルを作成し、pyinstallerを使用して新しいスクリプトを.exeにコンパイルするpythonスクリプトを作成することです。これにより、pythonをインストールしていない人でもこのプログラムを使用できます。

編集:スクリプト自体は1つのファイルのみを使用する必要があるため、1つのファイルの実行可能ファイルにすることもできます

4

3 に答える 3

1

PYINSTALLER_PATHにすでにPyinstallerをインストールしている場合(ディストリビューションで初めてConfigure.pyスクリプトを呼び出す必要があります)、PyinstallerはMakespec.pyを呼び出してメインスクリプトからスペックファイルを生成します。いくつかのフラグを追加して、1つのdirバイナリ分布または1つのファイルを生成できます。最後に、スペックファイルを使用してBuild.pyを呼び出す必要があります。

これは、いくつかのシステムコールで簡単にスクリプト化できます。何かのようなもの :

import os

PROJECT_NAME = "test"
PROJECT_MAIN_SCRIPT = "main_script.py"
MAKESPEC_CMD = """%s %s\Makespec.py -X -n %s -F %s""" % (PYTHON_EXECUTABLE, PYINSTALLER_PATH, PROJECT_NAME, PROJECT_MAIN_SCRIPT)
BUILD_CMD = """%s %s\Build.py %s.spec""" % (PYTHON_EXECUTABLE, PYINSTALLER_PATH, PROJECT_NAME)

os.system(MAKESPEC_CMD)
os.system(BUILD_CMD)

毎回スペックファイルを生成してハッキングすることを避け、埋め込みリソース(つまり、xmlファイルまたは構成)を追加し、他のフラグを指定することができます。基本的に、これはPythonファイルであり、いくつかの辞書が定義されています。

直接使用できるPyinstallerモジュールはないと思いますが、Build.pyを見て、その動作を模倣して同じことを行うことができます。Build.pyは、トリックを実行するメインスクリプトです。

于 2012-04-24T23:20:14.407 に答える
0

この種のことを行うために使用できるcx_Freezeをチェックすることをお勧めします。

cx_Freezeを使用するには3つの異なる方法があります。1つ目は、付属のcxfreezeスクリプトを使用することです。これは、単純なスクリプトに適しています。2つ目は、より複雑な構成に使用したり、将来の使用のために構成を保持したりできるdistutilsセットアップスクリプトを作成することです。3番目の方法は、cx_Freezeによって内部的に使用されるクラスとモジュールを直接操作することを含み、複雑なスクリプトまたは拡張または埋め込みのために予約する必要があります

ソース

于 2012-04-24T17:22:48.777 に答える
0

Pyinstallerの最新の開発コードをダウンロードしてみてください。そこで彼らは、実行可能ファイルを構築するためのGUIツールキットを実装しようとしています。

于 2012-04-24T17:34:58.057 に答える