Pythonスクリプト:
myscript.py
私はそれを次のように実行しています:
python D:\myscript.py
ただし、Pythonがインストールされ、PATH
環境変数に含まれている必要があります。
Python実行可能ファイルをPythonスクリプトで「バンドル」することで、他の人がPythonなしで自分のPCで実行できるようにすることは、どういうわけか可能ですか?
Windowsでのみ動作する場合は問題ありません。
編集:
compile.py
を試した後、次のエラーが発生します。
Traceback (most recent call last):
File "D:\stuff\compile.py", line 4, in <module>
import py2exe
ImportError: No module named py2exe
これを行う1つの方法を次に示します(Windowsの場合、py2exe
を使用)。
まず、Windowsボックスに py2exe
をインストールします。
次に、python compile.py
という名前のスクリプトを次のように作成します。
import sys
from distutils.core import setup
import py2exe
entry_point = sys.argv[1]
sys.argv.pop()
sys.argv.append('py2exe')
sys.argv.append('-q')
opts = {
'py2exe': {
'compressed': 1,
'optimize': 2,
'bundle_files': 1
}
}
setup(console=[entry_point], options=opts, zipfile=None)
PythonスクリプトをWindows実行可能ファイルにコンパイルするには、プログラムを引数としてこのスクリプトを実行します。
$ python compile.py myscript.py
Pythonインタープリターが内部でコンパイルされたバイナリ実行可能ファイル(EXE)を吐き出します。その後、この実行可能ファイルを配布するだけです。
PyInstaller はうまく機能しており、upxを使用しているため、かなり小さなパッケージを生成しています。その依存関係の検出は、同時にpy2exeよりも優れていました。最近はあまり開発されていないようで、おそらく3.xでは動作しません。
リポジトリ内のソースは、1.4パッケージよりも優れた出発点です。
Python 2.6+での作業についてのwikiページも参照してください。
機能リストから:
py2exe のようなものが必要です。
ここ はそれらのリストです。