ืฉื—ืจื•ืจ ืฉืœ Nuitka 2.0, ืžื”ื“ืจ ืœืฉืคืช Python

ืคืจื•ื™ืงื˜ Nuitka 2.0 ื–ืžื™ืŸ ื›ืขืช, ืืฉืจ ืžืคืชื— ืžื”ื“ืจ ืœืชืจื’ื•ื ืกืงืจื™ืคื˜ื™ื ืฉืœ Python ืœื™ื™ืฆื•ื’ C, ืืฉืจ ืœืื—ืจ ืžื›ืŸ ื ื™ืชืŸ ืœื”ื™ื“ื•ืจ ืœืงื•ื‘ืฅ ื”ืคืขืœื” ื‘ืืžืฆืขื•ืช libpython ืœืชืื™ืžื•ืช ืžืงืกื™ืžืœื™ืช ืฉืœ CPython (ื‘ืืžืฆืขื•ืช ื›ืœื™ ื ื™ื”ื•ืœ ืื•ื‘ื™ื™ืงื˜ื™ื ืžืงื•ืจื™ื™ื ืฉืœ CPython). ืกื™ืคืง ืชืื™ืžื•ืช ืžืœืื” ืขื ืžื”ื“ื•ืจื•ืช ื ื•ื›ื—ื™ื•ืช ืฉืœ Python 2.6, 2.7, 3.3 - 3.11. ื‘ื”ืฉื•ื•ืื” ืœ-CPython, ืกืงืจื™ืคื˜ื™ื ืžื”ื•ื“ืจื™ื ืžืจืื™ื ืฉื™ืคื•ืจ ืฉืœ 335% ื‘ื‘ื™ืฆื•ืขื™ื ื‘ืžื“ื“ื™ ืคื™ืกื˜ื•ืŸ. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ Apache.

ื‘ื™ืŸ ื”ืฉื™ื ื•ื™ื™ื ื‘ื’ืจืกื” ื”ื—ื“ืฉื”:

  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื™ื ื‘ืชืฆื•ืจืช ื”ื—ื‘ื™ืœื”, ืžื” ืฉืžืืคืฉืจ ืœืš ืœื‘ืฆืข ืฉืื™ืœืชื•ืช ืขืœ ืขืจื›ื™ื ืžื—ื‘ื™ืœื•ืช ืžื•ืชืงื ื•ืช ื‘ื–ืžืŸ ื”ืงื•ืžืคื™ืœืฆื™ื” ื•ืœื”ืฉืชืžืฉ ื‘ืขืจื›ื™ื ืืœื” ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ื”ืงืฆื” ื”ืื—ื•ืจื™. ืชืžื™ื›ื” ื‘ืžืฉืชื ื™ื ื‘ืชืฆื•ืจื” ืžืืคืฉืจืช ืœืคืชื•ืจ ืžืฉื™ืžื•ืช ืจื‘ื•ืช ื‘ื“ืจื›ื™ื ืกื˜ื ื“ืจื˜ื™ื•ืช ืฉื‘ืขื‘ืจ ื“ืจืฉื• ื—ื™ื‘ื•ืจ ืชื•ืกืคื™ื.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคืจืžื˜ืจื™ื ื”ืžื•ื’ื“ืจื™ื ืขืœ ื™ื“ื™ ื”ืžืฉืชืžืฉ ื›ื“ื™ ืœื”ืฉืคื™ืข ืขืœ ื”ืชืฆื•ืจื” ืฉืœ ื›ืœ ื—ื‘ื™ืœื”. ื ื™ืชืŸ ืœืงืจื•ื ืคืจืžื˜ืจื™ื ื‘ืืžืฆืขื•ืช ื”ืคื•ื ืงืฆื™ื” ื”ื—ื“ืฉื” get_parameter ื•ืœื”ืฉืชืžืฉ ื‘ื”ื ื›ื“ื™ ืœื‘ื—ื•ืจ ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ ืžื•ื“ื•ืœื™ื (ืœื“ื•ื’ืžื”, ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ืคืจืžื˜ืจ ืœื”ืฉื‘ื™ืช ืืช Numba JIT ืื• Torch JIT).
  • ื ื•ืกืคื” ื”ืืคืฉืจื•ืช "--include-onefile-external-data" ืœืฆื™ื•ืŸ ืชื‘ื ื™ื•ืช ืงื‘ืฆื™ ื ืชื•ื ื™ื ื”ืžื•ื’ื“ืจื•ืช ื‘ืชืฆื•ืจื” ืืš ื™ืฉ ืœืกืคืง ืื•ืชืŸ ื‘ื ืคืจื“ ืžืงื•ื‘ืฅ ื”ื”ืคืขืœื” ื‘ืขืช ื‘ื ื™ื™ื” ื‘ืžืฆื‘ onefile.
  • ื ื•ืกืคื” ืืคืฉืจื•ืช "--cf-protection" ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ืžืฆื‘ ื”ื”ื’ื ื” ืฉืœ CFI (Control Flow Integrity) ื‘-GCC, ืืฉืจ ื—ื•ืกื ื”ืคืจื•ืช ืฉืœ ืฆื• ื”ื‘ื™ืฆื•ืข ื”ืจื’ื™ืœ (ื–ืจื™ืžืช ื‘ืงืจื”).
  • ืขื‘ื•ืจ ืงื‘ืฆื™ yaml ืชื•ืกืฃ, ื”ื•ื˜ืžืขื” ื”ื™ื›ื•ืœืช ืœื™ืฆื•ืจ ืกื›ืžื™ ื‘ื“ื™ืงื” ืœื‘ื“ื™ืงื•ืช ืชืงื™ื ื•ืช, ืฉื‘ื”ืŸ ื”ื ืžืชื›ื ื ื™ื ืœื”ืฉืชืžืฉ ื‘ืขืชื™ื“ ื›ื“ื™ ืœืืจื’ืŸ ืื™ืžื•ืช ื‘ื–ืžืŸ ืจื™ืฆื”.
  • ืคืขื•ืœื•ืช ืžืืคืฉืจื•ืช ืœืฆื™ื™ืŸ ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช, ืžื•ืคืจื“ื•ืช ื‘ืงื•ื•ื™ื (ืฉื•ืจื” ื—ื“ืฉื” ืžืฉืžืฉืช ื›ืžืคืจื™ื“). ืœื“ื•ื’ืžื”: include-data-dir: | a=bc=d
  • ื™ื•ืฉื ื ื™ืชื•ื— ืฉืœ ืกื•ื’ื™ ืœื•ืœืื•ืช, ืฉื™ืฉืžืฉื• ื‘ืขืชื™ื“ ืœื™ื™ืฉื•ื ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืกืœืงื˜ื™ื‘ื™ื•ืช.
  • ื ื•ืกืคื• ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ื›ื“ื™ ืœื”ืื™ืฅ ืืช ื”ืขื‘ื•ื“ื” ืขื ืžืฉืชื ื™ื ืฉืื™ื ื ืžืฉื•ืชืคื™ื ื•ืžืฉืชื ื™ื ื‘ืจื™ื—ื”.
  • ื”ื™ื›ื•ืœื•ืช ืฉืœ ืชื•ืกืฃ ื”ืื ื˜ื™-bloat ื”ื•ืจื—ื‘ื•, ืืฉืจ ื›ืขืช ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœืฆืžืฆื ืืช ืžืกืคืจ ื”ื—ื‘ื™ืœื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื•ืช streamlit, torch, knetworkx, distributed, skiimage, bitsandbytes, tf_keras, pip, networkx ื•-pywt (ื‘ืขื™ืงืจื•ืŸ, ืžื—ื™ื™ื‘ ืœ-pytest, IPython, nose, triton ืื™ื ื• ื ื›ืœืœ ื•ื“ืกืง).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”