cx_Freeze 5.0でPythonスクリプトをコンパイルするのが難しいです。 スクリプトが正しくコンパイルされ、EXEが生成されます。すべての要件が満たされる前に、一連のエラーメッセージがコンソールに出力されました。 すべての要件を追加した後、EXEを実行するとコンソールには出力されません。プログラムは何も印刷せずに静かに停止します。 のPythonから直接実行する場合は期待どおりに動作します:cx_Freezeが生成されましたEXEがコンソール出力を出力しません
>python testScript.py -p 12 aaa/bbb.ccc
Test script with the following params:
Namespace(input_file='aaa/bbb.ccc', param=12)
私は問題は、私が使用しパッケージargparse に関連していると思います。
以下は、私が書いた小さなテストスクリプトとコンパイルスクリプトです。
from sys import exit, argv
import os
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser(prog=os.path.basename(argv[0]),
description='Command line parser test.')
parser.add_argument('input_file',
metavar='path/to/file',
help='path to source file)')
parser.add_argument('-p','--param', required=False,
metavar='par',
type=int, default=1,
help='test parameter')
try:
args = parser.parse_args()
except argparse.ArgumentError:
exit("Use -h option for help on using.")
if args.input_file is None:
parser.print_usage()
exit(0)
#%% display parameters
print "Test script with the following params:"
print args
cx_Freezeスクリプトコンパイル:プログラムはコンソールに何も印刷しないのはなぜ
from cx_Freeze import version, setup, Executable
import sys
print "Compilation using cx_Freeze version", version
productName = "testScript"
build_exe_options = {"packages": ["sys","os","argparse"]}
exe_options = Executable(
script = productName+".py",
targetName = productName+".exe",
base = None
)
setup(
name=productName,
version="0.0",
author="mstankie",
description="test script",
options = {"build_exe": build_exe_options},
executables=[exe_options]
)
を?
これはcx_Freezeのバグで、今日はcx_Freeze 5.0.1のリリースで解決されました。 –