https://github.com/cool-RR/PythonTurtle/pull/105#issuecomment -421965482, #106 ๋ฐ #90 ๋ฌธ์ ์ ๋ํ ํ์ ์กฐ์น๋ก ๋ชจ๋ ์ฌ๋์ ์ํ ํจํค์ง(๊ฐ์ฅ ์ข์) ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด ์์ง์ ์์ํ๊ณ ์ถ์ต๋๋ค. ํ๋ซํผ PythonTurtle์ด ์คํ๋ฉ๋๋ค. ํจํค์ง์ ์๋์ผ๋ก ์ํํ๋ ๋ฐฉ๋ฒ์ ์๋ค๋ฉด ๋ชจ๋ ๊ฒ์ ์๋ํํ๋ ๊ฒ์ ์ฌ์ด ์ผ์ด ๋ ๊ฒ์ ๋๋ค.
์ฆ, ์ฐ๋ฆฌ๋ ํ์
์ฐธ๊ณ : ์ด ๋ฌธ์ ๋ฅผ ์ด ํธ์ ์ฐ๋ ๊ฒ์ด ๋ถํธํ๋ฉด ํ๋ก์ ํธ Wiki ๋ฅผ ์ฌ์ฉํ์ฌ
ํ์ฌ Windows ๋ฐ macOS์ฉ py2exe ๋ฐ py2app ์ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์ต๋๋ค .
PyCon Otto ์ PyInstaller๋ก ์ ํํด์ผ ํฉ๋๋ค.
py2exe ๋ฐ py2app ๋์ PyInstaller๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ขฐํ ์ ์๋ ์๋ ๋น๋ ํ๋ก์ธ์ค๊ฐ ํ์ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
๋ํ PythonTurtle Python ํจํค์ง๋ฅผ ๋น๋ํ๊ณ ๋ฆด๋ฆฌ์คํ ๋ PyPI๋ก ํธ์ํ๋ ๊ฒ์ ์์ด์๋ ์๋ฉ๋๋ค.
๋ํ Git ํ๊ทธ(๋ฒ์ ๋ฒํธ ํฌํจ)๋ฅผ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ ํธ์ํ์ฌ ๋ฆด๋ฆฌ์ค๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ์ ๋ฆด๋ฆฌ์ค ํ์ด์ง ๋ฅผ ํตํด ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ์ํํ๊ฒ ๊ฐ๋ฅํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ทธ๋ฐ ์ข ๋ฅ์ ์๋ํ๊ฐ ๋ค์ ๋์ ๋ชฉํ๋ผ๋ ์ ์ ๋์ํฉ๋๋ค. ๋ฆด๋ฆฌ์ค๋ฅผ ํ ์ ์๋ ์ง์ ์ ๋๋ฌํ๋๋ผ๋ ํฉํํ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ํ ์ ์๋ ์ง์ ์ ๋๋ฌํ๋ค๋ฉด ๋๋ ํฉํํ ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ฐ์ฃผ๋ณต์ ์ค๋นํ์ญ์์ค! :์๋ค:
์์ฌ๋๋ ๋๋ก PyInstaller๋ ์ค์น ํ๋ก๊ทธ๋จ์ ๋น๋ํด์ผ ํ๋ ์ธํ๋ผ ์์
๋๋ Windows์ Mac์ด ์์ต๋๋ค. ๋ฐ๋ผ์ AppVeyor์์ ๋น๋๊ฐ ์ํ๋๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ ๋ฒ๊ฑฐ๋ก์ด ์์ ์ ์ํํด์ผ ํฉ๋๋ค. ๋ํ Python 3์ด ์ค์น๋ macOS๊ฐ ํ์ํฉ๋๋ค( ๋ฌธ์๊ฐ ๊ตฌ์์ผ ๋ฟ์ด๋ฉฐ Python 3์ผ๋ก ๋น๋ํ ์๋ ์์ต๋๋ค).
Python ํจํค์ง ๋น๋๋ฅผ ์๋ํํ๋ ๊ฒ์ผ๋ก ์์ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ์๋์ผ๋ก PyPI์ ์
๋ก๋). IIUC, ์ด์จ๋ (์ผ๋ถ ๊ธฐ๋ฅ) PyInstaller๋ก ๋น๋ํ๋ ค๋ฉด setup.py
๊ฐ ํ์ํฉ๋๋ค.
์ด๋ฏธ ์ด ๋ฐฉ๋ฒ์ผ๋ก PythonTurtle์ ์ค์นํ๋ ํ ๊ฐ์ง ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ ๋ฅผ PyPI ํ๋ก์ ํธ์ ๊ด๋ฆฌ์๋ก ์ถ๊ฐํ์๊ฒ ์ต๋๊น? ๋ด ์์ ์ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ ์ ์์ ๋ ์์ ์ ๋ ์ฝ๊ฒ ์๋ํํ ์ ์์ต๋๋ค. ๋ด ์ฌ์ฉ์ ์ด๋ฆ์ ๋น์ฐํ "bittner"์ ๋๋ค.
๋๋ ๋น์ ์ PyPI์ ๊ด๋ฆฌ์๋ก ์ถ๊ฐํ์ต๋๋ค.
PyInstaller์ ๊ด๋ จํ์ฌ ReactOS๊ฐ ์๋ VM์ด โโWindows ์ค์น ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐ ์๋ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
pip install PythonTurtle
ํ๋ก๊ทธ๋จ์ ์ค์นํ๊ณ ํ์ํ ๋ชจ๋ ์ข
์์ฑ์ ์ค์นํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ญ์์ค.
๊ฒฐ๋ก :
install_requires=['wxPython']
๋ฅผ setup()
์ ์ถ๊ฐํ ์_ ์์ง๋ง ์ด๊ฒ์ ์ ์ ์กฐ๊ฑด( README ์ ์ธ๊ธ๋จ )์ด ์ด๋ฏธ ์ค์น๋์ด ์์ง ์์ผ๋ฉด ์คํจํฉ๋๋ค. ๋งค์ฐ ๊ธฐ์ ์ ์ธ ์ค๋ฅ๋ฅผ ์ก์๋ด๊ณ ์ค์น์ ์คํจํ ๊ฒฝ์ฐ ์ ์ฉํ ํํธ๋ฅผ ์ธ์ํ ์ ์์ต๋๋ค.wx
๋ชจ๋์ ๊ฐ์ ธ์ฌ ์ ์์ ๋ PythonTurtle์ด ์น์ํ _reminder_๋ฅผ ์ธ์ํ๋๋ก ํ ์ ์์ต๋๋ค( ์์ฉ ํ๋ก๊ทธ๋จ ๋ชจ๋์ ModuleNotFoundError
).platform.release()
๋ฐ/๋๋ os.name
์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์นํ์ ์ธ "์ ์ ์กฐ๊ฑด ์๋ ๊ฐ์ง" ๋ฐฉ์์ผ๋ก ์ํํ๋ ๊ฒ์ ๊ฐ๋ฅํ์ง๋ง ์๋นํ ๋ฒ๊ฑฐ๋กญ์ต๋๋ค. ๋จ์ํ ๋ฌธ์ ๋ฉ์์ง๋ฅผ ์ธ์ํ๊ณ URL์ด ์๋ README์ ์ค์น ์น์
์ ์ฐธ์กฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ReactOS๊ฐ ์๋ VM์ด โโWindows ์ค์น ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐ ์๋ํ๋์ง ๊ถ๊ธํฉ๋๋ค.
์๋ํ๋ ๋ฐฉ์์ผ๋ก PythonTurtle ํจํค์ง๋ฅผ ๋น๋ํ๋ ํด๋ผ์ฐ๋์ ์๋น์ค์์ VM์ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์์ธํ ์๋ ค์ฃผ์ค ์ ์๋์? (๊ฐ๋ฐ์ ๋จธ์ ์์๋ง ๋ก์ปฌ์์ ์ฌ์ฉํ์๊ฒ ์ต๋๊น?)
๋น์ ๋ง์ด ๋ง์, ๋๋ ์ด๊ฒ์ ์๊ฐํ์ง ์์๋ค.
2๊ฐ์ง ์ง๋ฌธ์ด ์๋ ๊ฒ ๊ฐ์์.
ReactOS๊ฐ PyInstaller๋ฅผ ์ฌ์ฉํ์ฌ Windows ์ค์น ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐ ์๋ํ ์ ์์ต๋๊น?
ํด๋ผ์ฐ๋์์ ์๋์ผ๋ก ์๋ํ๋๋ก ์ค์ ํ ์ ์์ต๋๊น?
์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ ๋ํ ๋๋ต์ด ์์ด๊ณ ํด๋น ์๋น์ค๋ฅผ ์ ๊ณตํ๋ SaaS ๊ณต๊ธ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ReactOS ๊ฒ์คํธ๋ก VirtualBox๋ฅผ ์คํํ๋ Docker ์ด๋ฏธ์ง๋ฅผ ์ค์ ํ ์ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํด๋น Docker ์ด๋ฏธ์ง๋ฅผ ์คํํ SaaS ์ ๊ณต์ ์ฒด๋ฅผ ์ฐพ์ ์ ์์๊น์?
https://github.com/pypa/python-packaging-user-guide/issues/267 ์๋ Python ์ ํ๋ฆฌ์ผ์ด์ ํจํค์ง์ ๋ํ ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ๋งํฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
Linux ๋ฒ๋ค์ GitHub์ ์ ๋ก๋ํ๋ ์ฆ์(PR #123์ ํตํด) macOS์ฉ CI ํธ๋ ์ธ์ผ๋ก ์ด๋ํฉ๋๋ค . :์:
Windows์ฉ EXE์ macOS์ฉ ๋ฒ๋ค์ด ์๋ํ ํ ๋ค์์ผ๋ก ์ข์ ์ ์ Linux์ฉ AppImage ๋ฅผ
AppImage๋ (๋ค์)๋ก ๋๋น ๋ ์ฑ ์คํ ์ด,์ด AppImageHub . ๊ทธ๋ฆฌ๊ณ ๋น๊ต ํ๋ฉด ์ ๋ง ๋ฉ์ง ์ผ์ด๋ผ๋ ๊ฒ์ ์ดํดํ๊ฒ ๋ฉ๋๋ค. :+1:
๋์๊ฒ ์ข์ ์๋ฆฌ!
ํ์ฌ๋ก์๋ macOS์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ๋ค ๋น๋(PyInstaller ์ฌ์ฉ)๊ฐ ์์ ํ ์๋ํ์ง ์์ต๋๋ค. ๋์์ผ๋ก Homebrew ๊ณต์์ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ํ์ฌ ๊ด๋ จ ๋ฌธ์๋ฅผ ๋ณด๊ณ ์์ต๋๋ค.
ํ , ๊ณต์์ ํจ๊ณผ์ ์ผ๋ก ๊ฐ๋ฐํ๋ ค๋ฉด Mac์ ์ฌ์ฉํ๋ ์ฌ๋์ด ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ ต์ง ์์ ๋ณด์ด์ง๋ง ์ค์ ๋ก๋. :์๊ฐ:
๋ค์์ Python(3)๊ณผ ๊ด๋ จ๋ ๊ณต์์ ๋๋ค.
Python@3
(=3.7)์ ์์กดํ๊ณ pip๋ฅผ ํตํด wxPython์ ์ค์นํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ ์ ์์ต๋๋ค( ์ฐ๋ฆฌ ํ
์คํธ์์์ ๊ฐ์ด ).
์ฐธ๊ณ ๋ก ์๋ ๋ฆด๋ฆฌ์ค๊ฐ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ( api_key:
๊ฐ ์ํ ๊ฐ์ผ๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ์ฌ ์๋ํ์ง ์์ ์ ์์) VSCodium ํ๋ก์ ํธ ๊ฐ GitHub์์ ์๋ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ
Ram, ๋น์ ์ ํ์ฌ์ ์ต์ฐ์ ์์๋ก "Windows ์ค์น ํ๋ก๊ทธ๋จ"์ ์ธ๊ธํ์ต๋๋ค. ๋์ํฉ๋๋ค.
๋ ธ๋์กฐํฉ์ ํํฉ์ ์ ์ด๋ณด์.
๋ชจ๋ ๊ฒ์ ์ค๋นํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด์ ์ ๋ Windows ์ปดํจํฐ๋ ์๊ณ ๊ตฌ์ ํ ๊ณํ๋ ์๊ธฐ ๋๋ฌธ์(MacOS๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค), ๋๋ฝ๋ ์ ์ผํ ์ฌ๋์ ๋๋ฝ๋ ํผ์ฆ ์กฐ๊ฐ์ ์ธ๊ณ๋ฐ์ ์ ์๋ฆฌ์ ๋๋ ์ฌ๋๋ฟ์ ๋๋ค. ๋ด ์ง๊ฐ์์ ์ฐ๋ฆฌ๋ ์ ๋ง, ์ ๋ง "์์ ์๋ฃ"์ ๊ฐ๊น์ต๋๋ค.
StackOverflow ์ Microsoft Visual Studio Installer Projects ํ์ฅ์ผ๋ก ํ์ํ ๊ตฌ์ฑ์ ์์ฑํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค .
๋ฐ๋ผ์ ์ธ์ํ ์ ์์ต๋๊น? IIUC์์ ํด์ผ ํ ์ผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
.vdproj
ํ์ผ ์ถ๊ฐ๊ทธ๋ฐ ๋ค์ AppVeyor๋ ํด๋น ํ์ผ์ ๊ฐ์งํ๊ณ ์ค์น ํ๋ก๊ทธ๋จ์ ๋น๋ํ๊ณ ๋น๋ ์ํฐํฉํธ ํ์ด์ง์์ ๋ค์ด๋ก๋ํ ์ ์๋๋ก ์ ๊ณตํฉ๋๋ค.
๋ด ์ง๊ฐ์์ ์ฐ๋ฆฌ๋ ์ ๋ง, ์ ๋ง "์์ ์๋ฃ"์ ๊ฐ๊น์ต๋๋ค.
์์ ์ ์์ํ๋ฉด ๊ฑฐ์ ์๋ฃ๋ ๊ฒ ๊ฐ์ง ์์ต๋๋ค. Visual Studio Project๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ ํ์ฌ ๊ณํ์ด ๋ฌด์์ธ์ง์กฐ์ฐจ ๋ชจ๋ฆ ๋๋ค. ์ ๊ฐ ์ด ์ผ์ ๋งก๋๋ค๋ฉด ํํ์์ผ๋ก ๋ฉฐ์น ์ ๊ฑธ๋ฆด ๊ฒ ๊ฐ์์.
๋น์ ์ ์ด๊ฒ์ ๋ง์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ๋น์ ์๊ฒ ์ด๊ฒ์ ๋งํ๋ ๊ฒ์ ๋ํด ๊ธฐ๋ถ์ด ์ข์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ํ์คํ ์ด ๋ฌธ์ ์ ๋ํด ์ผํ๊ธฐ ์ํด ์์ํ์ง ์์ ๊ฒ์ ๋๋ค. PythonTurtle์ ๊ฐ์ ํ๋ ๋ฐ ํ ์๊ฐ ์ด์์ ํฌ์ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ง๊ธ ๋น์ฅ ๋ด ์ธ์์ ์ฐ์ ์์์ ๊ฐ๊น์ง ์์ต๋๋ค.
๋ค๋ฅธ ๋ฌธ์ ์์ ์ด ๋ฌธ์ ๋ฅผ ์ง์ ํ๊ณ ์ด ๋ฌธ์ ์์ด๋ ์๋ฌด ๊ฐ์น๋ ์๋ค๊ณ ๋งํ๋ ์ฑ๊ฐ์ ๊ฑด๊ฐ์? ๋๋ ๋น์ ์ด ๋ค๋ฅธ ๋ฌธ์ ์ ๋ํด ์์ ํ๋ ๊ฒ์ ๋ง์ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ ๋ ธ๋ ฅ์ด ๋์๊ฒ ๋ญ๋น๋๋ ๊ฒ ๊ฐ์์ ์ฐธ์ฌํ์ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋น์ ์ ์ฐจ๋จํ์ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์์ ์ผ์ ์ํด ์ ๊ฐ ํ์ํ๋ค๋ฉด, ๊ธฐ๊บผ์ด ํ๊ฒ ์ต๋๋ค.
์ด๊ฒ์ ๋ํด ๋ค๋ฅธ ์๊ฐ์ ๊ฐ๋ ๊ฒ. "์ ๋ Windows ์ปดํจํฐ๊ฐ ์๊ณ ๊ตฌ์ ํ ๊ณํ๋ ์์ต๋๋ค"๋ผ๊ณ ๋งํฉ๋๋ค. ๋ชฉ๋ก์ ์๋ ํญ๋ชฉ์ ์ํํ๋ ๊ฒ์ ๋ํ ๋ฐ๋๊ฐ ์ด ํฐ์ผ์ ๋ํด ์ถฉ๋ถํ ํ๊ธฐ ๋๋ฌธ์ด๊ฑฐ๋ Windows ๊ด๋ จ ์์ ์ ํ๋ ๋ฐ ์๊ฐ์ ๋ณด๋ด๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ด๋ผ๋ฉด ์, ์ ๋นํ ๋ฐ๋์ ๋๋ค.
๋ฌธ์ ๊ฐ Windows ๋ผ์ด์ผ์ค์ ๋์ ์ฐ๊ณ ์ถ์ง ์๋ค๋ฉด ํด๊ฒฐํ ์ ์์ต๋๋ค. ํ ๊ฐ์ง ์์ด๋์ด๋ ReactOS๋ฅผ ์ฌ์ฉํ๊ณ Visual Studio ํ๋ก์ ํธ๊ฐ ์คํ๋๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค. ReactOS๊ฐ ์ต์ ์ด ์๋ ๊ฒฝ์ฐ Windows ๋ผ์ด์ ์ค/๋จธ์ ์ ๋ฐ์ ์ ์์ต๋๋ค. ๋์์ด ๋๋์ง ์๋ ค์ฃผ์ธ์.
๋์์ด ๋๋์ง ์๋ ค์ฃผ์ธ์.
Windows ํ๋ก๊ทธ๋๋ฐ์ ๋ํด _์ด๊ด์ ์ธ_ ์ฌ๋์ ์๊ณ ์์ต๋๊น? Windows๋ Python์๊ฒ ์ง์ ๋ถํ ํ๊ฒฝ์ ๋๋ค. ๋๋ "Python + Windows"๊ฐ ์ ์ด์ธ๋ฆฌ๋ ์๋ชป๋ ์ด๋ฏธ์ง์ ๊ธฐ์ฌํ๊ณ ์ถ์ง ์์ต๋๋ค. ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค.
MSI ์ค์น ํ๋ก๊ทธ๋จ(WiX, WiX.Py )์ ๋น๋ํ๊ธฐ ์ํ ๋์ฒด ์๋ฃจ์ ์ https://github.com/PythonTurtle/PythonTurtle/issues/108#issuecomment -683420022๋ฅผ ์ฐธ์กฐ
๋๊ตฐ๊ฐ๊ฐ ๊ทธ๊ฒ์ ์๋ํ๊ณ ์ถ์ด?
๊ทธ๋ ์ง ์์ต๋๋ค. ๊ทธ๋์ ๊ฐ๋ฅํ ์์ ๋ด์ฌ์๊ฐ ๋์ฐฉํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์์ ๋ชฉ๋ก...
์งํ์ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ํํธ:
python3 setup.py clean bundle
ํ๋ฉด ๋ชจ๋ ๋ฐ์ด๋๋ฆฌ ๋ฒ๋ค์ ๋น๋ ํ ์ ์์ต๋๋ค(PyInstaller ์ฌ์ฉ).master
ํธ์ํ ๋๋ง๋ค ๋ฐ์ด๋๋ฆฌ ๋ฅผ GitHub ๋ฆด๋ฆฌ์ค ๋ก ์๋ ํธ์ ํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ๋ ํ๋ค๊ฒ ๋ง๋ค๊ธฐ ์ํด action/create-release ์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.๋ด๊ฐ ๊ฒ์ํ Microsoft ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ ์์ฒญ์ ๋ํ @judej์ ๋ฉ์ง ๋ต๋ณ์
๊ฒฐ๋ก : MSI ์์๋ด์ฌ์๋ ์์ง๋ง ๋ ๊ฐ์ง ๋ ํฅ๋ฏธ๋ก์ด ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค. ํ๋๋ ์ค์น ํ๋ก๊ทธ๋จ์ ๋น๋ํ๊ณ ๋ค๋ฅธ ํ๋๋ Python ZIP ์ฑ ์ ๋น๋ํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๊ฒ์ ํ๊ฐํ ๊ฐ์น๊ฐ ์๋ ๋ ๊ฐ์ง ์ข์ ๋์์ด ๋ ์ ์์ต๋๋ค. ๊ณ ๋ง์ ์ฃผ๋! :100: :medal_military:
๋ฉ์๋. ๋๋ ๋ํ ์ต๊ทผ์ PyOxidizer ์ ๋ํด ๋ค์์ต๋๋ค. ๋๋ ์ฌ์ ํ ๋ด๊ฐ ํ๋ก์ ํธ( ํ ๋ก )๋ฅผ ์ดํดํ๋์ง 100% ํ์ ํ์ง ๋ชปํ์ง๋ง ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๊ฒ์ ํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
์ฃผ๋ง์ shiv
์ด ์์
์ ์ํํ๊ฒ ์ต๋๋ค. PyOxidizer
์(๋ฅผ) ์๋ํ๋ฉด ๋ฉ๋ชจ๋ฅผ ๋น๊ตํ ์ ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ๋ฉฐ์น ์ ์ ์๋ก์ด ์ผ์ ์์ํด์ ์๋ฌด๊ฒ๋ ํ ์๊ฐ์ด ์์ ๊ฒ์ ๋๋ค :(
PyOxidizer
๋ ๋์๊ฒ ์คํ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค. Rust๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ OS ๊ธฐ๋ณธ ๊ณ์ธต์ธ "A Rust VM"์์ ์คํ๋๋ Python ์์ฉ ํ๋ก๊ทธ๋จ์
๋๋ค. ์ด๊ฒ์ด ์ด๋ค ์ด์ ์ ์ ๊ณตํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์คํํ๋ PyInstaller
์ค์ ์ด ์ ๋์ง ์์ต๋๊น? :3rd_place_medal:
shiv
๋ ์์ ํ ์๋ก์ด ์ ๊ทผ ๋ฐฉ์(๋ฆด๋ฆฌ์ค ์ํฐํฉํธ์ "ํฌํธํด๋ฆฌ์ค"์ ์๋ก ์ถ๊ฐ๋จ)์ผ๋ก, ์ฒญ์ค์๊ฒ ์ ๊ณตํ๊ธฐ์ ํฅ๋ฏธ๋ก์ธ ์ ์์ต๋๋ค. (๋น๋ก ์์์ ์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ ๊ฒ์ด๋ผ๊ณ ์์ํ์ง๋ง) ๋๋ ๊ทธ ์์ด๋์ด๊ฐ ์ค๋ฆด์ ๋๋๋๋ค. :2nd_place_medal:
pynsist
๋ ์ฐ๋ฆฌ๊ฐ ์ฐพ๊ณ ์๋ Microsoft Windows ์ค์น ํ๋ก๊ทธ๋จ๊ณผ ๋น์ทํฉ๋๋ค. ์ด๊ฒ์ Windows ์ฌ๋๋ค์ด ๊ธฐ๋ํ๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค. :one: ์ค์น ํ๋ก๊ทธ๋จ ๋ค์ด๋ก๋, :two: ์ค์น ๋ฐ ์์ ๋ฉ๋ด ํญ๋ชฉ ์ถ๊ฐ๋ฅผ ์ํด ์คํ :1์_์ฅ์_๋ฉ๋ฌ:
pynsist์ ๋จ์ ์ Windows ์ ์ฉ์ ๋๋ค. ๋๋ Mac๊ณผ Linux์์ Shiv(LinkedIn์์)๋ฅผ ๋ฐ์ ์ํค๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Windows์ฉ EXE์ macOS์ฉ ๋ฒ๋ค์ด ์๋ํ ํ ๋ค์์ผ๋ก ์ข์ ์ ์ Linux์ฉ AppImage ๋ฅผ
AppImage๋ (๋ค์)๋ก ๋๋น ๋ ์ฑ ์คํ ์ด,์ด AppImageHub . ๊ทธ๋ฆฌ๊ณ ๋น๊ต ํ๋ฉด ์ ๋ง ๋ฉ์ง ์ผ์ด๋ผ๋ ๊ฒ์ ์ดํดํ๊ฒ ๋ฉ๋๋ค. :+1: