Python Cx\U Freeze中的优化级别是什么?
我正在用Cx\u Freeze 6.0(Python 3.7.4 64位,如果有什么不同的话)冻结我的脚本,我正在努力在Python Cx\U Freeze中的优化级别是什么?,python,optimization,cx-freeze,Python,Optimization,Cx Freeze,我正在用Cx\u Freeze 6.0(Python 3.7.4 64位,如果有什么不同的话)冻结我的脚本,我正在努力在build\u exe中找到关于优化级别的文档。我看到的大多数脚本要么使用1要么根本没有值,我已经成功地使用了1和2,我无法发现exe中的任何差异 我当前的选项如下所示: exe_options = { 'build_exe': 'bin', 'includes': ['something'], 'excludes': ['something_else'
build\u exe
中找到关于优化级别的文档。我看到的大多数脚本要么使用1
要么根本没有值,我已经成功地使用了1
和2
,我无法发现exe中的任何差异
我当前的选项如下所示:
exe_options = {
'build_exe': 'bin',
'includes': ['something'],
'excludes': ['something_else'],
'packages': ['pack', 'age'],
'optimize': 2 # What the hell are the levels?
}
编辑:我在exe文件上检查了MD5哈希和SHA-256哈希,级别为0、1和2,exe是完全相同的文件。运行“build”时是否未使用此选项?这与直接执行CPython时的效果相同。其中,它阻止执行
assert
语句,删除docstring并将\uuu调试\uuu
设置为False
这与直接执行CPython时具有相同的效果。其中,它阻止执行assert
语句,删除docstring并将\uuuu调试\uuuuu
设置为False
,但这并不能解释为什么使用不同级别生成的exe文件的结果相同。例如,如果\uuuu debug\uuuu
设置为False
,exe哈希值是否应该不同?您是否尝试使用实际依赖于\uu debug\uuu
的代码冻结?您还可以查询sys.flags.optimize
,这应该会返回传递给cx\u freeze
的值。但这并不能解释为什么使用不同级别生成的exe文件的结果相同。例如,如果\uuuu debug\uuuu
设置为False
,exe哈希值是否应该不同?您是否尝试使用实际依赖于\uu debug\uuu
的代码冻结?您还可以查询sys.flags.optimize
,这将返回传递给cx\u freeze
的值。