2012-04-24 1 views
0

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

編集:それはまた、1ファイルの実行可能

答えて

0

ことができるようにスクリプト自体はあなたがこの種のものを行うために使用することができ、cx_Freezeをチェックアウトすることができます、一つのファイルを使用する必要があります。

cx_Freezeを使用する3つの方法があります。 1つは、単純なスクリプトでうまく動作するcxfreezeスクリプトを使用することです。もう1つは、より複雑な設定や将来の使用のために設定を保持するために使用できるdistutils設定スクリプトを作成することです。 3番目の方法は、cx_Freezeによって内部的に使用されているクラスおよびモジュールを直接操作することです。複雑なスクリプト用に予約するか、を拡張または埋め込むために予約する必要があります。

Source

+0

セットアップスクリプトなしでcx_freezeを使用する方法はありますか? Pythonをインストールせずに.pyを.exeにコンパイルできるようにしたいと考えています。 –

+0

これは私が引用した節で強調したものです。あなたはモジュールのソースをつかんで直接使用する必要があります。 –

+0

私は "import cx_Freeze"を実行して、main.pyにコマンドライン引数をシミュレートさせることができますか?それで、すべての引数を通常どおりに返しますが、コマンドラインから解析しませんか? –

0

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

1

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

これは、2回のシステムコールで簡単にスクリプト化できます。あなたが埋め込まれたリソース(すなわち、xmlファイルまたは構成)を追加すると、他のいくつかのフラグを指定して、specファイルを毎回生成し、それをハックする避けることができ

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) 

:ような何か。基本的にはこれはPythonファイルであり、いくつかの辞書の定義があります。

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

関連する問題