Python替代編譯器Nuitka發(fā)布0.5.16穩(wěn)定版
11月11日,Nuitka開(kāi)發(fā)團(tuán)隊(duì)通過(guò)博客,發(fā)布了***的穩(wěn)定版本。
據(jù)介紹,這次主要是維護(hù)版本發(fā)布,主要是改進(jìn)對(duì)新平臺(tái)的支持,并進(jìn)行部分修正。該版本會(huì)提升獨(dú)立模式下的運(yùn)行速度,以及部分使用場(chǎng)景下的編譯效率。
Bug修復(fù)
-
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修復(fù)信息和此次更新的其他情況,請(qǐng)查看官方網(wǎng)站。
什么是Nuitka?
Nuitka 是一個(gè)Python的替代品,支持 CPython 提供的代碼,可翻譯 Python 代碼到 C++ 程序,并使用 libpython 來(lái)執(zhí)行這些代碼,就像 CPython 一樣。兼容 Python 2.6, 2.7, 3.2, 3.3 ,3.4和3.5。一些團(tuán)隊(duì)正用它做完全的Python編譯工具,并嘗試將Python代碼轉(zhuǎn)譯為其它可高速運(yùn)行的編程語(yǔ)言。
從反饋情況來(lái)看,Nuitka編譯后的Python程序雖然可移植性降低,但是同時(shí)也減少了一些開(kāi)銷,對(duì)提升Python程序的效率有一定效果。