Python ์–ธ์–ด์šฉ ์ปดํŒŒ์ผ๋Ÿฌ์ธ Nuitka 1.2 ์ถœ์‹œ

Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ C ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” Nuitka 1.2 ํ”„๋กœ์ ํŠธ์˜ ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ CPython๊ณผ์˜ ์ตœ๋Œ€ ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด libpython์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ์ฒด ์กฐ์ž‘์„ ์œ„ํ•œ ๊ธฐ๋ณธ CPython ๋„๊ตฌ ์‚ฌ์šฉ). Python 2.6, 2.7, 3.3 - 3.10์˜ ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์™€ ์™„์ „ํ•œ ํ˜ธํ™˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. CPython์— ๋น„ํ•ด ์ปดํŒŒ์ผ๋œ ์Šคํฌ๋ฆฝํŠธ๋Š” pystone ํ…Œ์ŠคํŠธ์—์„œ 335%์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” Apache ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ์•„์ง ์™„์ „ํžˆ ์ง€์›๋˜์ง€ ์•Š๋Š” Python 3.11 ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œํ•œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด "-experimental=python311" ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • macOS์˜ ๊ฒฝ์šฐ ๋””์ง€ํ„ธ ์„œ๋ช… ๊ณต์ฆ์„ ์œ„ํ•œ "--macos-sign-notarization" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์–ด Apple App Store์šฉ์œผ๋กœ ์„œ๋ช…๋œ ์•ฑ์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ์‹œ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ตœ์ ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ปดํŒŒ์ผ๋œ ํ•จ์ˆ˜์— "__compiled__" ๋ฐ "__compiled_constant__" ํŠน์„ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠน์„ฑ์€ pyobjc์™€ ๊ฐ™์€ ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด๋‹ค ์ตœ์ ์˜ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŒฝ์ฐฝ ๋ฐฉ์ง€ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ํ™•์žฅ๋˜์–ด ์ด์ œ xarray ๋ฐ pint ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํŒจํ‚ท ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋งŽ์€ ๋ถ€๋ถ„์˜ ์ƒˆ๋กœ์šด ์ตœ์ ํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ํ™•์žฅ์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์„ ์Šค์บ”ํ•  ๋•Œ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์šฉ ์บ์‹ฑ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€