我用nuitka
编译我的python代码,但是编译时间很慢,谁能有好的主意来解决这个问题?
Nuitka-Progress:INFO: Doing module dependency considerations for 'codecs':
Nuitka-Progress:INFO: Optimizing module 'abc', 0 more modules to go after that.
Nuitka-Progress:INFO: Doing module dependency considerations for 'abc':
Nuitka:INFO: Completed Python level compilation and optimization.
Nuitka:INFO: Generating source code for C backend compiler.
Nuitka:INFO: Total memory usage before generating C code: 1.16 GB (1245917184 bytes):
Nuitka:INFO: Total memory usage before running scons: 1.16 GB (1249931264 bytes):
Nuitka:INFO: Running data composer tool for optimal constant value handling.
Nuitka:INFO: Running C compilation via Scons.
Nuitka-Scons:INFO: Backend C compiler: gcc (gcc).
Nuitka-Scons:INFO: Backend linking program (no progress information available).
2条答案
按热度按时间ie3xauqp1#
这几乎是不可能的,你可以尝试使用
--standalone
而不是--onefile
选项来禁用一个文件填充,这需要一些额外的时间。但你最终会得到一个文件夹,不管你用它做什么。ar5n3qh52#
对于你的程序来说,30分钟是一个合理的编译时间,你可能无法更快,但这里有一些想法可以尝试:
1.删除不必要的代码,如测试循环或过时(或从未完全实现)的功能
1.删除不必要的包和模块
1.如果您使用像numpy这样的大包来做一件小事,那么请尝试找到一种方法来完成您需要做的事情,而无需使用大包
1.如果您看到任何反膨胀警告,请参阅此处的说明以删除不需要的模块:https://nuitka.net/info/unwanted-module.html
1.阅读手册中的--nofollow-import-to。这可以通过精确指定应排除的内容来删除不必要的代码。https://nuitka.net/doc/user-manual.html