Pygameใงไฝœๆˆใ—ใŸใ‚ฒใƒผใƒ ใ‚’exeใƒ•ใ‚กใ‚คใƒซๅŒ–ใ—ใฆ้…ๅธƒใ™ใ‚‹ๆ–นๆณ•

Pygameใงไฝœๆˆใ—ใŸใ‚ฒใƒผใƒ ใ‚’exeใƒ•ใ‚กใ‚คใƒซๅŒ–ใ—ใฆ้…ๅธƒใ™ใ‚‹ๆ–นๆณ•ใซใคใ„ใฆ่ฉณใ—ใ่งฃ่ชฌใ—ใพใ™ใ€‚

Pygame่ฃฝใฎใ‚ฒใƒผใƒ ใ‚’exeใƒ•ใ‚กใ‚คใƒซใซๅค‰ๆ›ใ—ใฆ้…ๅธƒ

Pygameใงไฝœๆˆใ—ใŸใ‚ฒใƒผใƒ ใ‚’exeใƒ•ใ‚กใ‚คใƒซๅŒ–ใ—ใฆ้…ๅธƒใ™ใ‚‹ใซใฏใ€PyInstallerใ‚’ไฝฟ็”จใ™ใ‚‹ๆ–นๆณ•ใŒ็ฐกๅ˜ใงใ™ใ€‚

PyInstallerใฏใ€Pythonใงๆ›ธใ‹ใ‚ŒใŸใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’ๅฎŸ่กŒใƒ•ใ‚กใ‚คใƒซ๏ผˆไพ‹ใˆใฐใ€Windowsใฎ.exeใƒ•ใ‚กใ‚คใƒซใชใฉ๏ผ‰ใซๅค‰ๆ›ใ™ใ‚‹ใŸใ‚ใฎใƒ„ใƒผใƒซใงใ™ใ€‚
ใ“ใ‚Œใซใ‚ˆใ‚Šใ€PythonใŒใ‚คใƒณใ‚นใƒˆใƒผใƒซใ•ใ‚Œใฆใ„ใชใ„็’ฐๅขƒใงใ‚‚ใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’ๅฎŸ่กŒใงใใ‚‹ใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚

Windowsไปฅๅค–ใซใ‚‚ใ€macOSใ€Linux็”จใฎๅฎŸ่กŒใƒ•ใ‚กใ‚คใƒซใซใ‚‚ๅค‰ๆ›ใงใใพใ™ใ€‚

PyInstallerใฎไฝฟใ„ๆ–น

โ‘ ใ‚ณใƒžใƒณใƒ‰ใƒ—ใƒญใƒณใƒ—ใƒˆใ‚„ใ‚ฟใƒผใƒŸใƒŠใƒซใ‚’้–‹ใใ€ไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใฆPyInstallerใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใพใ™ใ€‚

pip install pyinstaller

โ‘ก Pygameใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใฎใƒ‡ใ‚ฃใƒฌใ‚ฏใƒˆใƒชใซ็งปๅ‹•ใ—ใพใ™ใ€‚

ใ€ไพ‹ใ€‘

cd C:\github\sample\python\pygame\invader\sample03

โ‘ข ไปฅไธ‹ใฎใ‚ณใƒžใƒณใƒ‰ใ‚’ๅฎŸ่กŒใ—ใพใ™ใ€‚

pyinstaller Pythonใ‚นใ‚ฏใƒชใƒ—ใƒˆใƒ•ใ‚กใ‚คใƒซๅ --onefile --noconsole --icon==ใ‚ขใ‚คใ‚ณใƒณใƒ•ใ‚กใ‚คใƒซๅ

ใ€ไพ‹ใ€‘

pyinstaller main_win.py --onefile --noconsole --icon=alien.ico
ใ‚ชใƒ—ใ‚ทใƒงใƒณ ่ชฌๆ˜Ž
Pythonใ‚นใ‚ฏใƒชใƒ—ใƒˆใƒ•ใ‚กใ‚คใƒซๅ Pythonใ‚นใ‚ฏใƒชใƒ—ใƒˆใฎใƒกใ‚คใƒณใƒ•ใ‚กใ‚คใƒซใ‚’ๆŒ‡ๅฎšใ—ใพใ™ใ€‚
--onefile ๅฟ…่ฆใชใƒฉใ‚คใƒ–ใƒฉใƒชใ‚„็”ปๅƒ็ญ‰ใฎใ™ในใฆใฎใƒ•ใ‚กใ‚คใƒซใ‚’1ใคใฎEXEใƒ•ใ‚กใ‚คใƒซใซใพใจใ‚ใพใ™ใ€‚
--noconsole PEXEใƒ•ใ‚กใ‚คใƒซๅฎŸ่กŒๆ™‚ใซใ‚ณใƒณใ‚ฝใƒผใƒซใ‚ฆใ‚ฃใƒณใƒ‰ใ‚ฆใ‚’่กจ็คบใ—ใชใ„ใ‚ˆใ†ใซใ—ใพใ™ใ€‚
--icon=ใ‚ขใ‚คใ‚ณใƒณใƒ•ใ‚กใ‚คใƒซๅ EXEใƒ•ใ‚กใ‚คใƒซใฎใ‚ขใ‚คใ‚ณใƒณ็”ปๅƒ(ๆ‹กๅผตๅญใฏico)ใ‚’ๆŒ‡ๅฎšใ—ใพใ™ใ€‚

โ‘ฃ ใƒ—ใƒญใ‚ธใ‚งใ‚ฏใƒˆใƒ•ใ‚ฉใƒซใƒ€ๅ†…ใซdistใƒ•ใ‚ฉใƒซใƒ€ใŒ็”Ÿๆˆใ•ใ‚Œใพใ™ใ€‚
ใใฎไธญใซใ‚ใ‚‹exeใƒ•ใ‚กใ‚คใƒซใ‚’ๅฎŸ่กŒใ—ใ€ใ‚ฒใƒผใƒ ใŒๆญฃใ—ใๅ‹•ไฝœใ™ใ‚ŒใฐๆˆๅŠŸใงใ™ใ€‚

PyInstallerใฎใ‚ˆใ‚Š่ฉณ็ดฐใชไฝฟใ„ๆ–นใซใคใ„ใฆใฏไปฅไธ‹ใƒšใƒผใ‚ธใง่งฃ่ชฌใ—ใฆใ„ใพใ™ใ€‚

ใ€PyInstallerใฎไฝฟใ„ๆ–นใพใจใ‚ใ€‘Pythonใฎใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’EXEใƒ•ใ‚กใ‚คใƒซๅŒ–ใ—ใฆ้…ๅธƒ
Pythonใฎใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚’EXEใƒ•ใ‚กใ‚คใƒซๅŒ–ใ—ใฆ้…ๅธƒใงใใ‚‹PyInstallerใฎไฝฟใ„ๆ–นใซใคใ„ใฆ่ฉณใ—ใ่งฃ่ชฌใ—ใพใ™ใ€‚

ใ€่ฃœ่ถณใ€‘

Microsoft Storeใงใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใŸPythonใ ใจไปฅไธ‹ใฎใ‚จใƒฉใƒผใŒๅ‡บใพใ—ใŸใ€‚

pyinstaller : ็”จ่ชž 'pyinstaller' ใฏใ€ใ‚ณใƒžใƒณใƒ‰ใƒฌใƒƒใƒˆใ€้–ขๆ•ฐใ€ใ‚นใ‚ฏใƒชใƒ—ใƒˆ ใƒ•ใ‚กใ‚คใƒซใ€ใพใŸใฏๆ“ไฝœๅฏ่ƒฝใชใƒ—ใƒญใ‚ฐใƒฉใƒ ใฎๅๅ‰ใจใ—ใฆ
่ช่ญ˜ใ•ใ‚Œใพใ›ใ‚“ใ€‚ๅๅ‰ใŒๆญฃใ—ใ่จ˜่ฟฐใ•ใ‚Œใฆใ„ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใ€ใƒ‘ใ‚นใŒๅซใพใ‚Œใฆใ„ใ‚‹ๅ ดๅˆใฏใใฎใƒ‘ใ‚นใŒๆญฃใ—ใ„ใ“ใจใ‚’็ขบ่ชใ—ใฆใ‹ใ‚‰ใ€ๅ†
่ฉฆ่กŒใ—ใฆใใ ใ•ใ„ใ€‚
็™บ็”Ÿๅ ดๆ‰€ ่กŒ:1 ๆ–‡ๅญ—:1
+ pyinstaller main_win.py --onefile --noconsole
+ ~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (pyinstaller:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Microsoft Storeใงใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—ใŸPythonใจ็’ฐๅขƒๅค‰ๆ•ฐใ‚’ๅ‰Š้™คใ—ใ€Pythonๅ…ฌๅผใ‚คใƒณใ‚นใƒˆใƒผใƒฉใƒผใ‹ใ‚‰Pythonใจpyinstallerใ‚’ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ—็›ดใ—ใ€็’ฐๅขƒๅค‰ๆ•ฐใ‚‚ไฟฎๆญฃใ—ใŸใ‚‰ใ‚จใƒฉใƒผใŒ่งฃๆถˆใ—ใพใ—ใŸใ€‚

้–ข้€ฃใƒšใƒผใ‚ธ

Pygameใฎไฝฟใ„ๆ–นใซใคใ„ใฆใฏไปฅไธ‹ใƒšใƒผใ‚ธใง่งฃ่ชฌใ—ใฆใ„ใพใ™ใ€‚

ใ€Pygame่ถ…ๅ…ฅ้–€ใ€‘ไฝฟใ„ๆ–นใจใ‚ตใƒณใƒ—ใƒซใ‚ฒใƒผใƒ ใ‚’่งฃ่ชฌ
Pygameใง2Dใ‚ฒใƒผใƒ ใ‚’็ฐกๅ˜ใซๅˆถไฝœใ™ใ‚‹ๆ–นๆณ•ใ‚’ๅ…ฅ้–€่€…ๅ‘ใ‘ใซ่งฃ่ชฌใ—ใพใ™ใ€‚

Pythonๅ…จ่ˆฌใซใคใ„ใฆใฏไปฅไธ‹ใƒšใƒผใ‚ธใง่งฃ่ชฌใ—ใฆใ„ใพใ™ใ€‚

ใ€Python่ถ…ๅ…ฅ้–€ใ€‘ๅŸบ็คŽใ‹ใ‚‰ๅฟœ็”จไพ‹ใพใงๅน…ๅบƒใ่งฃ่ชฌ
Pythonใซใคใ„ใฆPythonใฏใ€็ตฑ่จˆๅ‡ฆ็†ใ‚„ๆฉŸๆขฐๅญฆ็ฟ’ใ€ใƒ‡ใ‚ฃใƒผใƒ—ใƒฉใƒผใƒ‹ใƒณใ‚ฐใจใ„ใฃใŸๆ•ฐๅ€ค่จˆ็ฎ—ๅˆ†้‡Žใ‚’ไธญๅฟƒใซๅน…ๅบƒใ„็”จ้€”ใงๅˆฉ็”จใ•ใ‚Œใฆใ„ใ‚‹ใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใงใ™ใ€‚ไป–ใฎใƒ—ใƒญใ‚ฐใƒฉใƒŸใƒณใ‚ฐ่จ€่ชžใจๆฏ”่ผƒใ—ใฆใ€Œใ‚ณใƒผใƒ‰ใŒ็Ÿญใใฆ่ชญใฟใ‚„ใ™ใ„ใ€ๆ›ธใใ‚„ใ™ใ„ใ€ใ€Œใƒฉใ‚คใƒ–ใƒฉใƒชใŒ่ฑŠ...

ใ‚ณใƒกใƒณใƒˆ