268 lines
5.6 KiB
Python
268 lines
5.6 KiB
Python
# -*- mode: python ; coding: utf-8 -*-
|
|
|
|
# 隐藏导入列表 - 包含所有可能需要的模块
|
|
hidden_imports = [
|
|
# 核心科学计算库
|
|
'numpy',
|
|
'numpy.core',
|
|
'numpy.lib',
|
|
'numpy.linalg',
|
|
'numpy.fft',
|
|
'numpy.random',
|
|
'scipy',
|
|
'scipy.sparse',
|
|
'scipy.optimize',
|
|
'scipy.integrate',
|
|
'scipy.signal',
|
|
'scipy.ndimage',
|
|
'scipy.stats',
|
|
'pandas',
|
|
'pandas.core',
|
|
'pandas.io',
|
|
'pandas.plotting',
|
|
|
|
# 机器学习库
|
|
'sklearn',
|
|
'sklearn.ensemble',
|
|
'sklearn.tree',
|
|
'sklearn.svm',
|
|
'sklearn.linear_model',
|
|
'sklearn.cluster',
|
|
'sklearn.decomposition',
|
|
'sklearn.preprocessing',
|
|
'sklearn.metrics',
|
|
'sklearn.model_selection',
|
|
'sklearn.neighbors',
|
|
'sklearn.naive_bayes',
|
|
'sklearn.gaussian_process',
|
|
'sklearn.discriminant_analysis',
|
|
'sklearn.neural_network',
|
|
|
|
# XGBoost
|
|
'xgboost',
|
|
'xgboost.core',
|
|
'xgboost.sklearn',
|
|
|
|
# LightGBM
|
|
'lightgbm',
|
|
'lightgbm.basic',
|
|
'lightgbm.sklearn',
|
|
|
|
# 图像处理库
|
|
'cv2',
|
|
'PIL',
|
|
'PIL.Image',
|
|
'PIL.ImageFilter',
|
|
'PIL.ImageOps',
|
|
'skimage',
|
|
'skimage.io',
|
|
'skimage.filters',
|
|
'skimage.morphology',
|
|
'skimage.transform',
|
|
'skimage.color',
|
|
'skimage.exposure',
|
|
'skimage.measure',
|
|
'skimage.segmentation',
|
|
|
|
# 可视化库
|
|
'matplotlib',
|
|
'matplotlib.pyplot',
|
|
'matplotlib.backends',
|
|
'matplotlib.backends.backend_agg',
|
|
'matplotlib.figure',
|
|
'seaborn',
|
|
|
|
# 光谱处理库
|
|
'spectral',
|
|
'spectral.io',
|
|
'spectral.algorithms',
|
|
|
|
# 颜色科学库
|
|
'colour',
|
|
'colour.models',
|
|
'colour.difference',
|
|
|
|
# 其他工具库
|
|
'joblib',
|
|
'tqdm',
|
|
'tqdm.std',
|
|
'tqdm.auto',
|
|
|
|
# 系统和标准库
|
|
'pathlib',
|
|
'argparse',
|
|
'subprocess',
|
|
'multiprocessing',
|
|
'concurrent',
|
|
'concurrent.futures',
|
|
'threading',
|
|
'queue',
|
|
'collections',
|
|
'itertools',
|
|
'functools',
|
|
'operator',
|
|
'math',
|
|
'random',
|
|
'json',
|
|
'csv',
|
|
'pickle',
|
|
'gzip',
|
|
'zipfile',
|
|
'tarfile',
|
|
'io',
|
|
'os',
|
|
'sys',
|
|
'platform',
|
|
'warnings',
|
|
'logging',
|
|
'traceback',
|
|
'time',
|
|
'datetime',
|
|
're',
|
|
'glob',
|
|
'fnmatch',
|
|
'linecache',
|
|
'tokenize',
|
|
'keyword',
|
|
'ast',
|
|
'inspect',
|
|
'dis',
|
|
'importlib',
|
|
'importlib.util',
|
|
'pkgutil',
|
|
'runpy',
|
|
'contextlib',
|
|
'weakref',
|
|
'gc',
|
|
'copy',
|
|
'pprint',
|
|
'reprlib',
|
|
'enum',
|
|
'numbers',
|
|
'decimal',
|
|
'fractions',
|
|
'statistics',
|
|
'unittest',
|
|
|
|
# 动态导入的模块
|
|
'registry',
|
|
'validators',
|
|
'output_handler',
|
|
|
|
# 各方法模块
|
|
'Anomaly_method',
|
|
'classfication_method',
|
|
'cluster_method',
|
|
'color_method',
|
|
'Dimensionality_Reduction_method',
|
|
'edge_detect_method',
|
|
'Feature_Selection_method',
|
|
'fliter_method',
|
|
'preprocessing_method',
|
|
'prosail_method',
|
|
'rgression_method',
|
|
'segment_method',
|
|
'spatial_features_method',
|
|
'spectral_feature_method',
|
|
'supervize_cluster_method',
|
|
|
|
# 具体的实现文件
|
|
'Anomaly_method.Covariance',
|
|
'Anomaly_method.One_Class_SVM',
|
|
'Anomaly_method.RX',
|
|
'Anomaly_method.squared_loss_probability',
|
|
'classfication_method.bil2png',
|
|
'classfication_method.classfication',
|
|
'cluster_method.cluster',
|
|
'color_method.DeltaE',
|
|
'color_method.spectral2cie2',
|
|
'color_method.XYZ2RGB',
|
|
'Dimensionality_Reduction_method.dimensionality_reduction',
|
|
'edge_detect_method.edge_detect',
|
|
'Feature_Selection_method.batch_feature_selection',
|
|
'Feature_Selection_method.Cars',
|
|
'Feature_Selection_method.feture_select',
|
|
'Feature_Selection_method.GA',
|
|
'Feature_Selection_method.Lar',
|
|
'Feature_Selection_method.random_fog',
|
|
'Feature_Selection_method.ReliefF',
|
|
'Feature_Selection_method.sipls',
|
|
'Feature_Selection_method.Spa',
|
|
'Feature_Selection_method.Uve',
|
|
'fliter_method.morphological_fliter',
|
|
'fliter_method.Smooth_filter',
|
|
'preprocessing_method.plot',
|
|
'preprocessing_method.Preprocessing',
|
|
'prosail_method.prosail_gui',
|
|
'rgression_method.regression_predict',
|
|
'rgression_method.regression',
|
|
'segment_method.threshold_Segment',
|
|
'spatial_features_method.get_glcm',
|
|
'spatial_features_method.glcm',
|
|
'spatial_features_method.plot',
|
|
'spatial_features_method.shape_feature',
|
|
'spectral_feature_method.spectral_index',
|
|
'supervize_cluster_method.supervize_cluster',
|
|
]
|
|
|
|
# 需要排除的模块(减少包大小)
|
|
excludes = [
|
|
'pdb', # 调试器
|
|
'test', # 测试模块
|
|
'tests', # 测试目录
|
|
'jupyter', # Jupyter相关
|
|
'ipykernel', # Jupyter内核
|
|
'notebook', # Jupyter notebook
|
|
'IPython', # IPython
|
|
'zmq', # ZeroMQ
|
|
'tornado', # Tornado web框架
|
|
'matplotlib.tests', # matplotlib测试
|
|
'numpy.tests', # numpy测试
|
|
'scipy.tests', # scipy测试
|
|
'pandas.tests', # pandas测试
|
|
]
|
|
|
|
a = Analysis(
|
|
['main.py'],
|
|
pathex=[],
|
|
binaries=[],
|
|
datas=[],
|
|
hiddenimports=hidden_imports,
|
|
hookspath=[],
|
|
hooksconfig={},
|
|
runtime_hooks=[],
|
|
excludes=excludes,
|
|
noarchive=False,
|
|
optimize=0,
|
|
)
|
|
pyz = PYZ(a.pure)
|
|
|
|
exe = EXE(
|
|
pyz,
|
|
a.scripts,
|
|
[],
|
|
exclude_binaries=True,
|
|
name='main',
|
|
debug=False,
|
|
bootloader_ignore_signals=False,
|
|
strip=False,
|
|
upx=True,
|
|
console=True,
|
|
disable_windowed_traceback=False,
|
|
argv_emulation=False,
|
|
target_arch=None,
|
|
codesign_identity=None,
|
|
entitlements_file=None,
|
|
)
|
|
|
|
coll = COLLECT(
|
|
exe,
|
|
a.binaries,
|
|
a.zipfiles,
|
|
a.datas,
|
|
strip=False,
|
|
upx=True,
|
|
upx_exclude=[],
|
|
name='main',
|
|
)
|