Pythonプログラムは独立したexeにパッケージ化されています

3966 ワード

一、概要py 2 exeはpythonスクリプトをwindows上の独立して実行可能な実行可能プログラム(*.exe)に変換するツールであり、pythonをインストールせずにwindowsシステム上でこの実行可能プログラムを実行することができます.py 2 exeは、wxPython、Tkinter、Pmw、PyGTK、pygame、win 32 com client、server、その他の独立したプログラムの作成に使用されています.py 2 exeはオープンソースライセンスの下に公開されています.二、py 2 exeをインストールするhttp://prdownloads.sourceforge.net/py2exeインストールしたPythonに対応するpy 2 exeバージョンのinstallerをダウンロードして実行し、py 2 exeと対応する例をインストールします.これらの例はlibsite-packagespy 2 exesamplesディレクトリにインストールされます.三、py 2 exeの使い方helloworldという名前があれば.pyのpythonスクリプトは、windowsで実行される実行可能プログラムに変換し、pythonがインストールされていないwindowsシステムで実行したい場合は、まずmysetupなどのプログラムをパブリッシュするための設定スクリプトを書く必要があります.py、setup関数の前に文import py 2 exeを挿入します.mysetup.pyの例は次のとおりです.
 
1
#mysetup.py
2
from distutils.core import setup
3
import py2exe
4
5
setup(console=["helloworld.py"])
次の方法でmysetupを実行します.py:
 
1
python mysetup.py py2exe
上記のコマンドを実行すると、helloworldを含むdistというサブディレクトリが生成されます.exe,python24.dll,library.zipこれらのファイル.もしあなたのhelloworldがpyスクリプトにコンパイルされたC拡張モジュールが使用されると、これらのモジュールもサブディレクトリにコピーされます.同様に、システムのdllファイルを除いて、すべてのdllファイルが実行時に必要です.distサブディレクトリのファイルには、プログラムに必要なものが含まれています.このサブディレクトリのすべての内容を一緒に公開する必要があります.デフォルトでは、py 2 exeはディレクトリdistで1、1、または複数のexeファイルを作成します.2、python##.dll.3、いくつですか.pydファイルは、コンパイルされた拡張子であり、exeファイルに必要なものです.その他を加えるdllファイル、これら.dllはい.pydに必要なもの.4、library.zipファイルは、コンパイルされた純粋なpythonモジュールを含む.pycまたは.pyoの上のmysetup.pyコンソールのhellowordを作成しました.exeプログラム、グラフィックユーザー界のプログラムを作成する場合はmysetupだけです.pyのconsole=["helloworld.py"]をwindows=["myscript.py"]に置き換えることもできます.py 2 exeは一度に複数のexeファイルを作成できます.これらのスクリプトファイルのリストをconsoleまたはwindowsのキーワードパラメータに渡す必要があります.関連するスクリプトがいくつかある場合は、これは役に立ちます.次のコマンドを実行すると、py 2 exeコマンドのすべてのコマンドラインタグが表示されます.
 
1
python mysetup.py py2exe --help
四、追加のファイルを指定します.一部のアプリケーションでは、構成ファイル、フォント、ビットマップなどの追加のファイルが実行時に必要です.インストールスクリプトでdata_を使用する場合filesオプションは、py 2 exeがdistサブディレクトリにコピーできる追加のファイルを指定します.data_filesには、これらの追加ファイルのリストであるメタグループ(target-dir,files)リストが含まれる必要があります.例は次のとおりです.
 
01
#mysetup.py
02
from distutils.core import setup
03
import glob
04
import py2exe
05
06
setup(console=["helloworld.py"],
07
       data_files=[("bitmaps",
08
                    ["bm/large.gif", "bm/small.gif"]),
09
                   ("fonts",
10
                    glob.glob("fonts\\*.fnt"))],
11
)
説明:data_filesオプションは、2つのサブディレクトリdistbitmapsを作成します.gifファイル;すべてを含むサブディレクトリdistfonts.fntファイル.五、Windows NTサービスはsetup関数にサービスキーワードパラメータを渡すことでWindows NTサービスを構築することができます.このサービスパラメータの値はPythonモジュール名(サービスクラスを含む)のリストでなければなりません.例は次のとおりです.
 
1
#mysetup.py
2
from distutils.core import setup
3
import py2exe
4
5
setup(service=["MyService"])
作成された実行可能なサービスは、その後に一定のコマンドラインパラメータタグを付けることで、自分でインストールおよびアンインストールできます.この実行可能なサービス(exe)の後にhelpパラメータを付けることで、より多くの助けを得ることができます.六、COM servers
comを渡すことでserverキーワードパラメータはsetup関数にWindows NT servicesを作成します.このserviceパラメータの値はPythonモジュール名(1つ以上のCOM serverクラスを含む)のリストである必要があります.例は次のとおりです.pyfrom distutils.core import setupimport py 2 exesetup(com_server=[「win 32 com.server.interp」)デフォルトではDLLとEXE serversが構築されており、それらを必要としない場合は簡単に削除できます.
 
七、補充
補足ですが、pythonでコンパイルしたすべてのファイルを1つのexeにパッケージするには、setup()という関数で、optionsのbundle_という2つのパラメータを設定する必要があります.filesとzipfile.ここでbundle_filesの有効値は、3(デフォルト)でパッケージされません.2パッケージングしますが、Python解釈器はパッケージングしません.1 Pythonインタプリタを含むパッケージ.example:
 
1
options = {"py2exe":{"bundle_files": 1}}
zipfileの有効値は、記入しない(デフォルト)libraryを生成することです.zipファイル
いいえ、すべてのものを梱包します.exeファイル
次は私の例です
from distutils.core import setup
import py2exe
import glob

options={"py2exe":{"compressed":1,"optimize":2,"bundle_files":1}}
setup(service=["Zhihuhelp"],options=options,zipfile=None)