次のセットアップ スクリプトで cx_Freeze を使用しています。
exe = Executable(
script="pyWindowAllignmentGUI.py",
base="Win32GUI"
)
setup(
name = "pyWindowAllignmentGUI",
version = "0.1",
description = "An example wxPython script",
executables = [exe]
)
これはうまくいきます。今、このセットアップ スクリプトを使用して、すべてのライブラリを zip ファイルに圧縮しようとしています
build_exe_options={"compressed"}
exe = Executable(
script="pyWindowAllignmentGUI.py",
base="Win32GUI"
)
setup(
name = "pyWindowAllignmentGUI",
version = "0.1",
options = {"build_exe":build_exe_options},
description = "An example wxPython script",
executables = [exe]
)
しかし、私は次のエラーが発生します:
Traceback (most recent call last):
File "setup.py", line 26, in <module>
executables = [exe]
File "d:\Program Files (x86)\Python3.2.3_64bit\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
distutils.core.setup(**attrs)
File "d:\Program Files (x86)\Python3.2.3_64bit\lib\distutils\core.py", line 109, in setup
_setup_distribution = dist = klass(attrs)
File "d:\Program Files (x86)\Python3.2.3_64bit\lib\site-packages\cx_Freeze\dist.py", line 23, in __init__
distutils.dist.Distribution.__init__(self, attrs)
File "d:\Program Files (x86)\Python3.2.3_64bit\lib\distutils\dist.py", line 233, in __init__
for (opt, val) in cmd_options.items():
AttributeError: 'set' object has no attribute 'items'
このサイトに従って「圧縮」パラメータを使用しようとしました: http://cx-freeze.readthedocs.org/en/latest/distutils.html#distutils しかし、私は何か間違っているようです? では、圧縮されたパラメーターを正しく使用する方法は?
アップデート:
それがそれを行う方法であることがわかりました:
build_exe_options={"compressed":True}
exe = Executable(
script="pyWindowAllignmentGUI.py",
base="Win32GUI"
)
setup(
name = "pyWindowAllignmentGUI",
version = "0.1",
options = {"build_exe":build_exe_options},
description = "An example wxPython script",
executables = [exe]
)
さらに、圧縮されたパラメーターはデフォルトでTrueであることがわかりました。
その結果、すべてのpythonファイルが保存されているビルドディレクトリにlibrary.zipがあります。それでも、ビルドフォルダーにいくつかの.dllといくつかの.pydファイルがあります。(python32.dll、pythoncom32.dll、pywintypes32.dll、tcl85.dll、tk85.dll、unicodedata.pyd、win32api.pyd、win32gui.pyd、..)
セットアップ スクリプトも zip ファイルに含まれるように構成することはできますか?