Я собираю набор сценариев Python в исполняемые файлы. Я использую cx_Freeze для того, чтобы сделать это.
Довольно распространенная проблема - папка lib
становится очень большой. Я максимально исключил модули, чтобы уменьшить его размер, но он все еще достаточно велик.
Поскольку я компилирую несколько исполняемых файлов, возможно ли иметь одну общую папку lib
, на которую все они ссылаются для уменьшения размера диска?
Пример setup.py
выглядит следующим образом:
import sys, os
from cx_Freeze import setup, Executable
base = None
if sys.platform == 'win32':
base = 'Win32GUI'
executables = [
Executable('MYSCRIPT.py', base=base)
]
additional_mods = ["numpy.core._methods", "numpy.lib.format"]
exclude_mods = ["babel", "scipy", "PyQt5", "tornado", "zmq", "sphinx", "sphinx_rtd_theme", "psutil", "notebook", "nbconvert", "lxml", "cryptography", "bottleneck", "matplotlib"]
build_exe_options = {"excludes": exclude_mods, "includes": additional_mods, "optimize": 1}
os.environ['TCL_LIBRARY'] = r'C:\ProgramData\Anaconda3\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\ProgramData\Anaconda3\tcl\tk8.6'
setup(name='MYSCRIPT',
version='0.1',
includes = ['os'],
options = {"build_exe": build_exe_options},
description='MYSCRIPT',
executables=executables
)