pyDotexeは、Pythonで作成したプログラムを実行ファイル形式にできるツールです。
- 他のツールにはないキャッシュ機能により、単体で、より高速にプログラムを実行することができます。Pythonの実行環境に近い状態で起動しているので、安全に起動することができます。
- 内部コードを極力C#にすることで、Pythonのバージョン違いによるプログラム停止を防ぎ、このツールだけで幅広いPythonのバージョンをサポートすることができました。
- プログラム全体の圧縮に加え、Pythonのコード圧縮機能によりさらにサイズを抑えることができました。また、ユーザーの指定で圧縮度・圧縮速度の変更を自由に変更できます。
- Module-Hooks機能により、わざわざ引数からモジュールを入力する作業を削減することができました。また、デバッグ機能により、どのモジュールが足りないかすぐわかるようにしました。
- 実行ファイルにするだけでなく、集めたモジュールのZIPファイルを出力したり、単体で出力できない他のツールで生成されたファイルらを、それらをまとめて一つのアプリケーションとして実行することもできます。
-
pydotexe.exeを、PythonのScriptsフォルダにコピー
-
py2exeのように、pydotexe.exeのsetup.pyを作成したい場合↓
pip install pydotexe
- pip install pydotexe のコマンドでインストールしたモジュールを使って、py2exeのようなsetup.pyを作ることができます。
import pydotexe.setup
build_set = pydotexe.setup.build("yourcode.py")
#build_set.hide_console = True
#build_set.icon = ""
build_set.start_build()
- 動作確認済み: Python 1.6.x, Python 2.1.x ~ Python 2.7.x, Python 3.0.x ~ Python 3.6.x
-
pyDotexe v0.1.0 ~ v1.0.0: Module-Hooks_v1.x.x
-
pyDotexe v2.0.0 ~ : Module-Hooks_v2.x.x
-
このプログラムと作成したアプリケーションの動作環境: Windows XP 以降、.NET Framework 4.0 がインストール済み
-
動作確認済み: WindowsXP, Windows7, Windows10
-
pyDotexe本体が、PythonのフォルダのScriptsフォルダ内にある時のみ、-pyコマンドでのPythonのフォルダ指定は必要ありません。それ以外のフォルダにある場合は必ず指定してください。
-
環境変数にてPythonのフォルダパスを登録した状態で実行してください。
-
Module-Hooksのモジュールデータはテスト中です。
-
Python 2.4.x以下では、一部制限があります。
-
Module-Hooks v1.x.xとv2.x.xとの互換性はありません。
pydotexe -build -src yourcode.py
pydotexe -build -src yourcode.py --hide -icon myicon.ico
pydotexe -merge -src test.zip -start-bin python.exe -start-src yourcode.py
pydotexe -hooks -add matplotlib pydir mpl-data
コマンド | 引数 | 説明 |
---|---|---|
-src | ソースコードファイルパス | ソースコードの指定 |
(-py) | Pythonのフォルダパス | Pythonのフォルダパスを指定 |
(-file) | ファイルパス | 指定されたモジュールファイルパスを追加 |
(-dir) | フォルダパス | 指定されたモジュールフォルダを追加 |
(-pyfile) | 正規表現 | Python内のモジュールファイルを追加 |
(-pydir) | 正規表現 | Python内のモジュールフォルダを追加 |
(-pymodule) | モジュール名 | 指定されたモジュールを検索し追加 |
(-resfile) | ファイル名 | リソースファイルにしたいファイルを追加 |
(-resdir) | フォルダ名 | リソースフォルダにしたいフォルダを追加 |
(-exclude) | 正規表現 | 指定されたモジュールファイルはインポートしない |
(-out) | ファイルパス | アプリケーションを出力するファイル名の指定 |
(-icon) | ファイルパス | アプリケーションのアイコン指定 |
(-argv) | データ値 | 固定したいパラメータを設定 |
(-pyver) | 数値 | Pythonのバージョンを手動設定 (ex: 3.1.x -> 31, 1.6.x -> 16) |
(-comp=) | 圧縮レベル(int) | 圧縮度を設定(0~9) |
任意コマンド | 説明 |
---|---|
--zip-out | ZIP形式で出力する |
--no-cache | キャッシュ機能を無効にする |
--dll-out | PythonのDLLファイルを含めない |
--no-onefile | 複数のファイルを出力する |
--debug | モジュールインポートテスト用コマンド |
--check-only | モジュールに関しての情報のみ出力 |
--no-hooks | Module-Hooks機能を使用しない |
--part-enc | 一部のエンコードモジュールのみインポート |
--wait-key | 終了時にキー入力を求める |
--no-log | ログを出力しない |
--all-include | Pythonの実行環境すべて含める |
--hide | コンソール表示を無効にする |
--no-rev | ファイルパス修正コードを加えない |
--research | エラーにより無視されたモジュールを強制検索 |
--optimize | モジュール全体のコードを圧縮する(テスト版) |
--all-search | すべてのファイルを調べる |
--no-standalone | インストールされているPythonの実行環境に依存する |
コマンド | 引数 | 説明 |
---|---|---|
-src | ファイル・フォルダパス | --no-onefile時はフォルダパス、通常時はZIPファイルパス |
-start-bin | ファイル名 | 起動時に起動する実行ファイル名 |
(-start-src) | ファイル名 | 起動時に起動するソースコードファイル名 |
(-start-argv) | データ値 | 固定パラメータの設定 |
(-ver) | 数値 | 起動時に使用するPythonのバージョン(3.6.x->36, 2.7.x->27) |
(-icon) | ファイルパス | アプリケーションのアイコンの設定 |
(-out) | ファイルパス | 出力するファイルパス |
任意コマンド | 説明 |
---|---|
--no-cache | キャッシュ機能を無効にする |
--no-log | ログを出力しない |
--no-onefile | 複数のファイルを出力する |
--out-bin | 外部アプリケーションに依存する |
--wait-key | 終了時にキー入力を求める |
コマンド | 引数 | 説明 |
---|---|---|
(-update) | フォルダパス | 結合したいModule-Hooksデータフォルダ |
(-add) | [モジュール名] [コマンド] [モジュールデータ] | Module-Hooksにデータを追加する |
任意コマンド | 説明 |
---|---|
--upgrade | Module-Hooksをアップグレードする |
--upgrade-clean | Module-Hooksを再インストールする |
--clear | Module-Hooksを初期化する |
--no-log | ログを出力しない |
--wait-key | 終了時にキー入力を求める |