Python ์คํฌ๋ฆฝํธ๋ฅผ C ํํ์ผ๋ก ๋ณํํ๊ธฐ ์ํ ์ปดํ์ผ๋ฌ๋ฅผ ๊ฐ๋ฐํ๋ Nuitka 1.1 ํ๋ก์ ํธ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ CPython๊ณผ์ ์ต๋ ํธํ์ฑ์ ์ํด libpython์ ์ฌ์ฉํ์ฌ ์คํ ํ์ผ๋ก ์ปดํ์ผํ ์ ์์ต๋๋ค(๊ฐ์ฒด ์กฐ์์ ์ํ ๊ธฐ๋ณธ CPython ๋๊ตฌ ์ฌ์ฉ). Python 2.6, 2.7, 3.3 - 3.10์ ํ์ฌ ๋ฆด๋ฆฌ์ค์ ์์ ํ ํธํ์ฑ์ ์ ๊ณตํฉ๋๋ค. CPython์ ๋นํด ์ปดํ์ผ๋ ์คํฌ๋ฆฝํธ๋ pystone ํ ์คํธ์์ 335%์ ์ฑ๋ฅ ํฅ์์ ๋ณด์ฌ์ค๋๋ค. ํ๋ก์ ํธ ์ฝ๋๋ Apache ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์ ๋ฒ์ ์ ๋ณ๊ฒฝ ์ฌํญ:
- Yaml ํ์์ผ๋ก ๊ตฌ์ฑ์ ์ง์ ํ๋ ๊ฐ๋ฅ์ฑ์ด ํ์ฅ๋์์ต๋๋ค.
- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฌ์ฉ๋์ง ์๋ ๊ตฌ์ฑ ์์(zoneinfo, Concurrent, asyncio ๋ฑ)๋ฅผ ์ ์ธํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์ต์ ํ๊ฐ ์ด๋ฃจ์ด์ก์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๊ฒฐ๊ณผ ์คํ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- Python 3.10์ ๋์ ๋ "์ผ์น" ์ฐ์ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํจํด ์ผ์น์ ๋์ฒด ๊ตฌ๋ฌธ("|")์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- jinja2.PackageLoader์์ ํธํ์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค.
- __defaults__ ์์ฑ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
- importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata ๋ฐ importlib_metadata.metadata ํจ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ธฐ๋ณธ ์คํ ํ์ผ์ ์ถ๊ฐ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ ํฌํจํ๋ ์ง์์ด Onefile ์ปดํ์ผ ๋ชจ๋์ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ปดํ์ผ๋ ๋ชจ๋์ importlib.resources.files ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค.
- "--include-package-data" ์ต์ ์ ์ฌ์ฉํ๋ฉด "--include-package-data=package_name=*.txt"์ ๊ฐ์ด ํ์ผ ๋ง์คํฌ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
- macOS์ ๊ฒฝ์ฐ ์คํ ํ์ผ์ ๋ํ ๋์งํธ ์๋ช ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ํ๋ฌ๊ทธ์ธ์ด ์คํ ํ์ผ์ ๊ธฐ๋ฅ์ ์ฌ์ ์ํ๋ ๋ฐฉ๋ฒ์ด ์ ๊ณต๋ฉ๋๋ค.
- ์ํฐ ๋ธ๋กํธ ํ๋ฌ๊ทธ์ธ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์ด ์ด์ rich, pyrect ๋ฐ pytorch ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋ ํจํค์ง ์๋ฅผ ์ค์ด๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋์ฒด ๊ท์น์ ์ ๊ท์์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- ๋ง์ง๋ง ๋ฆด๋ฆฌ์ค์์ ๊ตฌํ๋ ์ค์ํ ์ต์ ํ๋ก ์ธํด ๋ฐ์ํ๋ ํ๊ท์ ๋ณ๊ฒฝ ์ฌํญ์ด ํด๊ฒฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru