
Python ä»®æ³ç°å¢ãšèµ·åçšã¹ã¯ãªããã®æ€èš ïœå šèªåç°å¢æ§ç¯ã§èª°ã«ã§ãç°¡åã«äœ¿ããããã«ïœ
ããã«ã¡ã¯Rcatã§ãã
ããŠãæè¿åãå
¥ããŠããPythonãä»®æ³ç°å¢ã«ã€ããŠæžããŠããããšæããŸãã
詳ããã¯åŸã§æžããŸãããä»®æ³ç°å¢ã䜿ãããšã§ããã°ã©ã ããšã«å®è¡ç°å¢ãã€ãŸãã¯ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ãªã©ãåããããšãã§ããŸãã
ããã䜿ãããšã§ãã¯ã³ã¢ã¯ã·ã§ã³ã§ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ããå®è¡ãŸã§ãå®å
šã«èªååããããšãã§ããŸãã
æäžéšã§ã¯ç°å¢æ§ç¯ã»ããã®ã¿ã®é
åžãè¡ã£ãŠããŸãã
Pythonã®ã€ã³ã¹ããŒã«ã®ä»æ¹
Pythonã®ã€ã³ã¹ããŒã«ãšããå°ã现ãã話
ã¯ããã«
å©çšèŠçŽ
æ å ±ãäœåã®æŽ»çšæã¯äºåã«å©çšèŠçŽãã確èªãã ããã
https://note.com/rcat999/n/nb6a601a36ef5
ã³ã¡ã³ãã«ã€ããŠ
å©çšèŠçŽã®ã¬ã€ãã©ã€ã³ã確èªã®äžã³ã¡ã³ãããŠãã ãã
ä»®æ³ç°å¢(VENV)ãšã¯
ä»®æ³ç°å¢ãšã¯
ä»®æ³ç°å¢ãšã¯Pythonã®å®è¡ç°å¢ããã©ã«ããŒããšã«åããããæ©èœãšã§ãèšãã°ããã§ããããã
æ®éã«Pythonãã€ã³ã¹ããŒã«ããã ãã§ã¯ããã®ããœã³ã³ã§1ã€ã®Pythonã®ç°å¢ã§ããã现ãããã©ã«ãããšã«åå¥ã®å®è¡ç°å¢ãæã€ããšãã§ããŸãã
ä»®æ³ç°å¢ã䜿ãã¡ãªãã
äŸãã°ããããã®äœåãäœã£ãŠãããããããã埮åŠã«å¿ èŠãªã©ã€ãã©ãªã®ããŒãžã§ã³ãéã£ãŠç«¶åããã®ã§æ®éã«å®è¡ããããšãããšãã©ã¡ãããèµ·åã§ããªããªããªããŠããšããããŸãããïŒ
ãããªæå©ããã®ãä»®æ³ç°å¢ã§ãã
åãããœã³ã³ã§ãããããã®ä»®æ³ç°å¢ã«å¥ã
ã®ããŒãžã§ã³ã®ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããããšãã§ããŸãã
ãŸããã€ã³ã¹ããŒã«ããŠããã©ã€ãã©ãªãåæããããšãã§ããŸãããæ®æ®µäœ¿ã£ãŠããç°å¢ã ãšæ¬åœã«å¿
èŠãªã©ã€ãã©ãªãã©ããªã®ãããããªããªã£ãŠããŸã£ãŠããŸãããã
ããããäœåãäœãæã«ä»®æ³ç°å¢ããäœã£ãŠããã°å¿
èŠãªã©ã€ãã©ãªã ããã€ã³ã¹ããŒã«ããç°¡åã«åæããããšãã§ããããã«ãªããŸãã
ããããããšã§ãä»ã®ããœã³ã³ã§ãåãç°å¢ãåçŸãããããªããŸãã
ä»ã«ãäœåãä»è
ã«äœ¿ãããå Žåããã®äººã®ç°å¢ãèãããªããšããã¡ãªããããããŸãã
åããŠPythonãã€ã³ã¹ããŒã«ããçžæãªããŸã ãããæ¢ã«äœ¿ã£ãŠããŠããŒãžã§ã³ã«å°ããããã©ã€ãã©ãªã䜿ã£ãŠãããªãç®ãåœãŠãããŸããã
ããããé
åžããäœåãä»®æ³ç°å¢äžã§åãããã«äœãããŠããå Žåãçžæã®Pythonç°å¢ã«äžå倿Žãå ããããšãªãå®è¡ããããšãã§ããŸãããããã¡ã€ã³ã®ç®çãšãªããŸãã
ä»®æ³ç°å¢ãæå¹åããŠã©ã€ãã©ãªãã€ã³ã¹ããŒã«ãã
ä»®æ³ç°å¢ã®äœãæ¹ãWindowsã§ç¢ºèªããŠã¿ãŸãããã
ãŸã調ã¹ã°ç°¡åã«åºãŠãããã§ãããä»®æ³ç°å¢ãäœãã³ãã³ãã¯ä»¥äžã§ãã
äžçªæåŸã®ãšãããä»®æ³ç°å¢ãæ ŒçŽãããã©ã«ãã®ååã§ãããã¯èªç±ã«ã€ããããšãã§ããŸãã
ãã®å Žåã¯venvãšãããã©ã«ããäœæãããã®äžã«ä»®æ³ç°å¢ãæ§ç¯ãããŸãã
远èš:" --upgrade-deps"ã远å ãããã«ããpipãªã©ãææ°ã®ç¶æ
ã§å
¥ããŸãã
windows>python -m venv venv --upgrade-deps
windows>dir /b
venvä»®æ³ç°å¢ãåºæ¥äžãã£ããã以äžã®ã³ãã³ããå®è¡ããŸãã
ããããã¡ã€ã«ã§ãããããã«ã¯ãªãã¯ã§èµ·åããŠãããéããã ããªã®ã§ãã³ãã³ãããã³ããããéãããã«ããŠãã ããã
windows>venv\Scripts\activate.bat
(venv) windows>å®è¡ãããšäžçªå·ŠåŽã«(venv)ãšè¡šç€ºãããä»®æ³ç°å¢ã«åãæ¿ãã£ãããšãåãããŸãã
ãã®ç¶æ
ã§ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ãããšããã®ä»®æ³ç°å¢ã ãã«ã€ã³ã¹ããŒã«ãããŸãã
確èªããŠã¿ããšä»¥äžã®ãããªæãã§ãã
æåã¯äœããªãã®ã§ãŸã£ããã§ãããã©ã€ãã©ãªãã€ã³ã¹ããŒã«ãããšããããšäŸåããã©ã€ãã©ãªãå
¥ã£ãŠããŠããããšãããããŸãã
(venv) windows>pip freeze
(venv) windows>pip install requests
--ç¥--
(venv) windows>pip freeze
certifi==2024.8.30
charset-normalizer==3.3.2
idna==3.10
requests==2.32.3
urllib3==2.2.3ä»®æ³ç°å¢ãæããå Žåã¯ä»¥äžã®ã³ãã³ããå®è¡ããŸãã
(venv) windows>deactivate
windows>ä»®æ³ç°å¢ã¹ã¯ãªããã®æ€èš(Windows)
ããŠãä»®æ³ç°å¢ã®äœãæ¹ãšæå¹åã®æ¹æ³ãåãã£ããšããã§ãç®çã®ã¹ã¯ãªãããèµ·åã§ãããšãããŸã§äžé£ã®åäœãå®å
šã«èªååããŠã¿ãŸãããã
ããããšãšããŠã¯æ¬¡ã®éãã§ãã
äžé£ã®æµã
ä»®æ³ç°å¢ã®äœæ
ä»®æ³ç°å¢ã®æå¹å
ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«
ããŒã«ã®å®è¡
æé ãšããŠã¯ç°¡åã§ãããäžã€ã®ã¹ã¯ãªããã§ç°å¢æ§ç¯ãã§ããŠããŒã«ã®èµ·åããããã®ã§ã2床ç®ä»¥éã¯4çªã ãå®è¡ã§ããããã«ãããªã©ãå°ã工倫ãå¿ èŠã§ãã
èµ·åã¹ã¯ãªããã®æ§æ
Windowsã§èµ·åããå Žåã®ä»®æ³ç°å¢ã¹ã¯ãªããã«ã€ããŠèããŠãããŸãããã
ä»åã¯ã¹ã¯ãªããã2ã€ã«åããŠã¿ãŸããã
çç±ãšããŠã¯ãæåã«è¿°ã¹ãããã«1çªãã3çªãŸã§ãå®è¡ããæãš4çªã ãããå®è¡ããªãæã«åãããããã§ãã
start.batã®æ¹ãã¡ã€ã³ã§äœ¿ããããã§ãã
create.batã®æ¹ã¯ç°å¢æ§ç¯ãããããã®å°çšãããã§ãã
ç¹ã«ãšã©ãŒããªãé²ãã°createã®æ¹ãçŽæ¥äœ¿ãããšã¯ãããŸããã

ã€ã³ã¹ããŒã«ãšã©ãŒå¯Ÿç
ãŸããå Žåã«ãã£ãŠã¯ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã§å€±æããããšãããã®ã§ããããã£ãæã¯ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã®æ¹ã ããåäœã§å®è¡ã§ããããã«ããç®çããããŸãã
ã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã倱æããçµéšã«ã¯ä»¥äžã®ãããªããšããããŸãã
C++ã®ã³ã³ãã€ã©ãå¿ èŠ
gitã³ãã³ããå¿ èŠ
ãããã¯éçºè ã®å Žåã¯ãã§ã«å ¥ã£ãŠããã®ã§ã¹ã«ãŒããã¡ã§ãããããã§ã¯ãªã人ã¯åœç¶å ¥ã£ãŠãªãã®ã§ãšã©ãŒã«ãªãããšããããŸãã
æ§ç¯ãããã®äžèº«
ãŸãã¯ã¡ã€ã³ã®start.batããèŠãŠãããŸãããã
äžèº«ã¯ä»¥äžã®ããã«ãªã£ãŠããŸãã

æåã³ãŒããåãæ¿ããŠãã
æåã®ã³ãã³ãã¯UTF8ãžã®æåã³ãŒãã«åãæ¿ãã§ãã
å¥ã«sjisã§æžãã°ãããã§ããããã®ãã¡ãã®èŸºãã¡ãããšçŽããŠãããããšã«æåŸ ããŠUTF8ã§æžããŸãããã£ã¬ã¯ããªã«ç§»åãšä»®æ³ãã£ã¬ã¯ããªã®æ€çŽ¢
çŽæ¥å®è¡ããã°ãã®ãã£ã¬ã¯ããªããå§ãŸãã¯ãã§ã¯ãããã§ãããä»ã®ããã°ã©ã ããåŒã³åºãããšãªã©ãèãããšããããã®äžã§ã«ã¬ã³ããã£ã¬ã¯ããªã®ç§»åãããŠãããæ¹ã確å®ã§ãã
ãããŠä»®æ³ãã©ã«ãããããã©ãã確èªããŸãããªãå Žåã¯ååèµ·åãšå€å®ããŠç°å¢æ§ç¯ããããšããæµãã§ããä»®æ³ç°å¢ã®å®è¡ãšã¹ã¯ãªããã®èµ·å
äžæŠç°å¢æ§ç¯ã¯ã¹ãããããŸããŠ15è¡ç®ãä»®æ³ç°å¢ã®æå¹åãè¡ããã¹ã¯ãªãããå®è¡ãããšããæé ã§ãã
次ã«Create.batã§ã
ãã¡ãã¯çŽæ¥èµ·åããããä»®æ³ç°å¢ããªãå Žåã«åŒã³åºãããŸãã

ã«ã¬ã³ããã£ã¬ã¯ããªã®ç§»åãšä»®æ³ç°å¢ã®æ€çŽ¢
åäœã§èµ·åããããšãèæ ®ããŠãstartã®æãšåãæèšãå ¥ã£ãŠããŸãã
ä»®æ³ç°å¢ããªãå Žåã¯venvã®ã³ãã³ããå®è¡ããŸããã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«
requirementsã䜿ã£ãŠã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ãè¡ããŸãã
ãããéäžã§ãšã©ãŒãçºçãããšERRORLEVELã1ã«ãªãã®ã§ãæ£åžžã«çµãã£ãã®ããäœããããšã©ãŒã«ãªã£ãã®ããå€å®ããŠããŸãããšã©ãŒã«ãªã£ãå Žå
ããã°ã©ã ãã³ã³ãã¥ãŒã¿ãŒã«è©³ãã人ã ãã䜿ãåæã§ã¯ãªãã®ã§ãã¡ãã»ãŒãžãæ·»ããŠããŸãã
ãšã¯ãããäžžæããããŠãå°ãã®ã§ãæç¢ºãªè²¬ä»»ã®æåšãšã©ãããã°ããã®ãããã¡ããšæžããŠããŸãã
ãšã¯ãããç§ãèŠéãããŠãããŠãããããããªãã®ã§ãæåã®1åã¯ã³ã¡ã³ãã§äžžæãããŠãããã°ãããããã®ãŸãŸèšäºã«èŒããã®ã§ãä»ã®äººã¯ãããèŠãŠå¯Ÿå¿ã§ãããšããä»çµã¿ã§ãã
ãŸããäžæåæ¢ããã³ãã³ããä»èŸŒãã§ããŸããããã¯æ®éã®ã¹ã¯ãªãããªãçµãã£ããéããŠæ¬²ããã§ããããšã©ãŒã ã£ãå Žåã¡ãã»ãŒãžã確èªãããã®ã§éããŠããã£ãŠã¯å°ãã®ã§ãã
çµæã®è¿åŽ
ERRORLEVEL(äžè¬çãªèšãæ¹ã§ã¯çµäºã³ãŒã)ã¯EXITã³ãã³ãã®Bãªãã·ã§ã³ã§äžããããšãã§ããŸãããšã©ãŒã ã£ãå Žåã¯äžå¿ããã§ãªãå Žåã¯0ãè¿ããŠstartã®ãããã«è¿ããŸãã
å®éã«å®è¡ãã
å®è¡ãããšãããªæã
ç»é¢ã«é²æç¶æ³ã衚瀺ãããŠãæåŸã«Pythonãæ£åžžã«ç§»åããŠããããšãåãããŸãã

次ã«ãããŠãšã©ãŒã«ãªãããã«é©åœãªã©ã€ãã©ãªãæžã蟌ãã§ã¿ãŸããã
ãã®ç¶æ
ã ãšä»¥äžã®ãããªæãã«ãªããŸãã

ãã¡ããšãšã©ãŒãåºãŠããŠãã©ã察å¿ããã°ããã®ããšããã¡ãã»ãŒãžã衚瀺ãããŠããŸããã
Windowsã®æ¹ã¯ãããªæãã§ããããã
ä»®æ³ç°å¢ã¹ã¯ãªããã®æ€èš(Linux)
ç¶ããŠã¯Linuxã§Windowsåçã®ãã®ãäœã£ãŠãããŸãã
æ§ç¯ã¹ã¯ãªããã®äžèº«
start.sh
ãã£ãŠãããšã¯Windowsã®æ¹ãšåãã§ããã詳ããã¯ãã¡ãã®è§£èª¬ã確èªããŠãã ããã
ãã¡ãã§éããšããã¯ã«ã¬ã³ããã£ã¬ã¯ããªã«ç§»åãªã©ã¯çç¥ããŠãããšããã§ãã
ã ã£ãŠã·ã§ã«ããå®è¡ãããã§ãããïŒç¢ºå®ã«æ±ºããŠãããŸããã?ããããã芳ç¹ããäžæã«ã¹ã¯ãªããã®æ¹ã§åãã®ã¯é¿ããŸããã
ããããå Žåã«ãã£ãŠã¯$0ãã¹ã¯ãªããããšã§ã¯ãªãå Žåãããã®ã§ã䜿çšãé¿ããŠããŸãã

ããšã¯äžã®æ¹ã§ã³ã¡ã³ãåããŠããã®ã¯ç¡éã«ãŒãã§ããäŸãã°ãèªäœã®ããããªã©ãäœã£ãæã«åèµ·åããããããã¡ã€ã³ã®ã¹ã¯ãªãããèœã¡ãŠããŸããšèªåçã«åèµ·åãããããŸããããïŒ
ãšããããšã§ãçµäºã³ãŒãã2以å€ã§çµãã£ãå Žåã¯ç¡éã«ãŒããããããªãµã³ãã«ãæžã蟌ãã§ãããŸãã
ç§ãé
åžããŠããDiscordã®ãããçšã®èµ·åã¹ã¯ãªããã¯ãã¡ããæ¡çšãããŠããã¯ãã§ãã
create.sh
次ã«ç°å¢æ§ç¯ãããã§ãã
ãã¡ãã¯å®å
šã«Windowsã®æ¹ãšåãã§ãã
ä»®æ³ç°å¢ãã©ã«ããŒããªãå Žåã¯äœæããè¡ããããå Žåã¯ã¹ãããããŠã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã ãã詊è¡ããŸãã

Windowsã®æã¯ã¿ã€ã ã¢ãŠãã䜿ã£ãŠã·ã§ã«ãéããªãããã«ããŠããŸããããLinuxã®å Žåã¯ããããã·ã§ã«ããå®è¡ããã®ã§ãããã£ããã®ã¯å ¥ã£ãŠããŸããã
å®éã«å®è¡ããŠã¿ã
æ£åžžå®è¡ã®å Žå

ãšã©ãŒã«ãªã£ãå Žå

ããŸã
start.shãèªåå®è¡&宿å®è¡ãã
é åž
ä»å玹ä»ããä»®æ³ç°å¢ãå©çšããèµ·åãããã¯é
åžãè¡ããŸãã
ãã®ãŸãŸããã¹ãã§æžããªãã®ã¯èªååŠçããªããã§åéãããŠããŸãã®ã¯ãªããæ®å¿µãªæ°ãããããã§ãã
é åžURL
ããŒã¿ã®äžèº«
é
åžããããŒã¿ã«ã¯ä»å玹ä»ããèµ·åãšæ§ç¯ä»¥å€ã«ããã€ãäœæ¥çšã®ããŒã¿ã远å ããŸãã
ããããã®äžèº«ã¯ããŠã³ããŒãããŠããã®ã楜ãã¿


WIndows
requirements_äœæ
ãã®åã®éãrequirements.txtãäœæããã ãã®ã¹ã¯ãªããã§ãã
"requirements"ããå°å³ã«é·ããŠæã€ã®ãé¢åãããã®ã§äœããŸãããååçšäœæ
ããããããŒã«ãéçºããæã®ä»®æ³ç°å¢ã£ãŠãŸã£ãããªãã®ãçšæããŠããã€ã³ã¹ããŒã«ãæåã§å®è¡ããŸãããã
ãã®ãããžãå®è¡ãããšä»®æ³ç°å¢ãäœã£ãåŸãããã³ãããæ»ã£ãŠããŠæäœãã§ããããã«ãªããŸãã
èŠããã«å®éšç°å¢äœæçšã§ããã
Linux
Linux.service
systemdã䜿ã£ããµãŒãã¹ãšããŠç»é²ããããã®ãã¡ã€ã«ã§ãã
èªåã§äœã£ãŠããã¡ããããã§ããããã³ãã¬ãšããŠæ·»ä»ããŠãããŸããrequirements_Create
Windowsã®æ¹ãšåãã§ãã
ããã§ã¯ãŸããäŒãããŸãããã
ã¡ãªã¿ã«ãã®ãããã®æ¹è¯ç¹ãããã°æ¯éæ¯éãå¯ããã ããã