Python替代編譯器Nuitka發(fā)布0.5.16穩(wěn)定版
11月11日,Nuitka開發(fā)團隊通過博客,發(fā)布了***的穩(wěn)定版本。
據(jù)介紹,這次主要是維護版本發(fā)布,主要是改進對新平臺的支持,并進行部分修正。該版本會提升獨立模式下的運行速度,以及部分使用場景下的編譯效率。
Bug修復
-
Python: Fix, the gi_running attribute of generators is no longer an int, but bool instead.
-
Python3: Fix, the int built-in with two arguments, value and base, raised UnicodeDecodeError instead of ValueError for illegal bytes given as value.
-
Python3: Using tokenize.open to read source code, instead of reading manually and decoding from tokenize.detect_encoding, this handles corner cases more compatible.
-
Fix, the PyLint warnings plug-in could crash in some cases, make sure it's more robust.
-
Windows: Fix, the combination of AnaConda Python, MinGW 64 bits and mere acceleration was not working. Issue#254.
-
Standalone: Preserve not only namespace packages created by .pth files, but also make the imports done by them. This makes it more compatible with uses of it in Fedora 22.
-
Standalone: The extension modules could be duplicated, turned this into an error and cache finding them during compile time and during early import resolution to avoid duplication.
-
Standalone: Handle "not found" from ldd output, on some systems not all the libraries wanted are accessible for every library.
-
Python3.5: Fixed support for namespace packages, these were not yet working for that version yet.
-
Python3.5: Fixes lack of support for unpacking in normal tuple, list, and set creations.
更多Bug修復信息和此次更新的其他情況,請查看官方網站。
什么是Nuitka?
Nuitka 是一個Python的替代品,支持 CPython 提供的代碼,可翻譯 Python 代碼到 C++ 程序,并使用 libpython 來執(zhí)行這些代碼,就像 CPython 一樣。兼容 Python 2.6, 2.7, 3.2, 3.3 ,3.4和3.5。一些團隊正用它做完全的Python編譯工具,并嘗試將Python代碼轉譯為其它可高速運行的編程語言。
從反饋情況來看,Nuitka編譯后的Python程序雖然可移植性降低,但是同時也減少了一些開銷,對提升Python程序的效率有一定效果。