update server
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# setup.py
|
||||
"""Cython 编译脚本 — 将核心业务 .py 文件编译为 .pyd/.so 防止反编译。
|
||||
|
||||
用法:
|
||||
python setup.py build_ext --inplace # 原地编译(开发测试)
|
||||
python setup.py build_ext # 输出到 build_libs/
|
||||
"""
|
||||
from setuptools import setup, find_packages
|
||||
from Cython.Build import cythonize
|
||||
import os
|
||||
|
||||
# ============================================================
|
||||
# 1. 明确指定要加密保护的核心业务文件(千万不要把 main.py 放进去)
|
||||
# ============================================================
|
||||
py_modules = [
|
||||
# 根目录业务文件
|
||||
"api.py",
|
||||
"controllers.py",
|
||||
"PcControl.py",
|
||||
"ind_collector.py",
|
||||
"get_V.py",
|
||||
"styles.py",
|
||||
# 许可证模块(含公钥 + 验签逻辑,编译后不可篡改)
|
||||
"license_utils.py",
|
||||
# core/ 业务逻辑层
|
||||
"core/__init__.py", # 模块级验签入口,import 时自动触发
|
||||
"core/connection_manager.py",
|
||||
"core/control_engine.py",
|
||||
"core/model_manager.py",
|
||||
"core/data_collector.py",
|
||||
"core/identification.py",
|
||||
"core/identification_config.py",
|
||||
"core/identification_feedback.py",
|
||||
"core/volume_config.py",
|
||||
]
|
||||
|
||||
# 过滤掉本地不存在的文件,防止报错
|
||||
py_modules = [f for f in py_modules if os.path.exists(f)]
|
||||
|
||||
# ============================================================
|
||||
# 2. 编译器优化指令
|
||||
# ============================================================
|
||||
compiler_directives = {
|
||||
'language_level': "3", # Python 3 语义
|
||||
'boundscheck': False, # 关闭数组越界检查(提升性能)
|
||||
'wraparound': False, # 关闭负索引检查
|
||||
'cdivision': True, # C 除法语义(更快)
|
||||
'always_allow_keywords': False, # 不生成 **kwargs(减小体积)
|
||||
}
|
||||
|
||||
setup(
|
||||
name="PressureControlCore",
|
||||
version="1.0.0",
|
||||
python_requires=">=3.8",
|
||||
packages=find_packages(include=["core", "core.*"]),
|
||||
ext_modules=cythonize(
|
||||
py_modules,
|
||||
compiler_directives=compiler_directives,
|
||||
annotate=False, # 不生成 html 报告,减少垃圾文件
|
||||
build_dir="build_libs/temp", # .c 文件的临时目录
|
||||
force=True, # 强制重新生成 .c 文件(防止用旧缓存)
|
||||
),
|
||||
options={
|
||||
"build_ext": {
|
||||
"build_lib": "build_libs", # 最终 .pyd/.so 输出目录
|
||||
"build_temp": "build_libs/temp" # 中间 .c 和 .o 输出目录
|
||||
}
|
||||
},
|
||||
)
|
||||
Reference in New Issue
Block a user