ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΊΠΎΠ΄ python Π² exe
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ py2exe
ΠΡΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°Π·ΡΠ²Π°Π΅ΡΡΡ py2exe. ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ, ΡΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° python Π² exe ΡΠ°ΠΉΠ» (Π½Ρ, ΡΠΎΡΠ½Π΅Π΅, exe ΠΈ Π΅ΡΠ΅ ΠΊΡΡΠΊΡ Π΄ΡΡΠ³ΠΈΡ ). ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ΠΎ Π²ΡΠ΅ Π½Π°Π΄ΠΎ? ΠΡ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ windows ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ python Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ. Π Π²ΠΎΡ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π² ΠΈΠ΄Π΅Π°Π»Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ Π½Π° Π»ΡΠ±ΠΎΠΉ windows-ΠΌΠ°ΡΠΈΠ½Π΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, py2exe Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΈΡΠΎΠ½Π°.
Π‘ΠΊΠ°ΡΠ°ΡΡ py2exe ΠΌΠΎΠΆΠ½ΠΎ Π½Π° SourceForge.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΠΎΠΈΡ python (Π° ΠΎΠ½ Ρ Π²Π°Ρ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° ΡΡΠΎΠΈΡ), ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. Π‘ΡΠ°Π²ΠΈΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ python.
ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ
ΠΠ΄Π΅ main.py ΠΈΠΌΡ ΠΠ°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ°Π»Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
Π‘ΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ. ΠΠ²Π΅ ΠΏΠ°ΠΏΠΊΠΈ.
build β ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΡΠ½Π΅ΡΡΠΈ.
dist β ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π² Π½Π΅ΠΉ ΠΈ Π»Π΅ΠΆΠΈΡ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ. ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ. ΠΠ½ΠΈ Π²Π΅Π΄ΡΡ Π½Π΅Π²Π΅Π΄ΠΎΠΌΠΎ ΠΊΡΠ΄Π°. ΠΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅.
ΠΠ°ΠΊ Π΅Π³ΠΎ ΡΠ·Π½Π°ΡΡ? Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ½ΠΊΡΠΈΡ module_path.
ΠΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΎΡΡΠ΅Π· ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ Ρ ΠΠ°Ρ, Π° Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π΅ΡΠ΅). ΠΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Visual Studio.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ
Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ (Π½ΠΎ ΡΡΠΎ ΠΆΠ΅ Π½Π΅ Π½Π°Ρ ΠΌΠ΅ΡΠΎΠ΄) ΠΈΠ»ΠΈ ΠΊΠΈΠ½ΡΡΡ dll ΠΈ ΡΠ°ΠΉΠ» ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
msvcr90.dll ΠΈ Microsoft.VC90.CRT.manifest (Π½Π΅ Π·Π½Π°Ρ ΠΊΠ°ΠΊ ΡΡΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Ρ)
ΠΠ΄Π΅ ΠΈΡ
Π²Π·ΡΡΡ? ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠΌ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ python (Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΡΠ°Π»ΠΎΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅) Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΌΠ΅Π½ΡΒ». Π ΠΈΡΠΊΠΎΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ python.
Π¦Π΅Π»ΡΡ ΡΠΎΠΏΠΈΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΡΠ°ΡΠΊΡΡΡΡ Π²ΡΠ΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ py2exe. ΠΠ΄Π΅ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠΎΡΠΈΠ°Π», Π° ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²Π΅ΡΡ ΠΈ ΡΡΡΠΊΠΈ.
Π Π°Π·ΠΌΠ΅Ρ
Π ΡΠΈΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ ΡΠΆΠ°ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎ Ρ ΡΡΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΡΠΎΡΡΡΡ. ΠΠ΄Π΅ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Π°Π» kAIST (Π½Ρ, ΠΊΡΠΎΠΌΠ΅ upxβΠ° =Ρ)
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ exe ΡΠ°ΠΉΠ» Π΄Π»Ρ Python ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python.
ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ PyInstaller.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PyInstaller Π²Π΅ΡΡΠΈΠΈ 4.2.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ exe ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller
PyInstaller ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΅ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° Python c Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ simple.py, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅:
Python ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ exe-ΡΠ°ΠΉΠ»ΠΎΠΌ
ΠΡΡΡ CSV-ΡΠ°ΠΉΠ» netflix_titles.csv, ΠΈ Python-script, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π½Π΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² Π±Π°Π½Π΄Π» Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. Π€Π°ΠΉΠ» Python-ΡΠΊΡΠΈΠΏΡΠ° Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ simple1.py.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅.
ΠΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ DIST Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ.
Π’Π°ΠΊΠΆΠ΅, ΠΎΡΠΊΡΡΠ² spec-ΡΠ°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π·Π΄Π΅Π» datas, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» netflix_titles.csv ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ onefile
Π‘ΠΊΡΠΈΠΏΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ TEMP ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ exe-ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ onefile ΠΈ add-data.
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ» simple1.exe ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ DIST.
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Hidden Imports
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠ΅Π±ΡΡΡΡΡ Π²ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Python-ΡΠΊΡΠΈΠΏΡΡ. ΠΠ½ΠΎΠ³Π΄Π° PyInstaller ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΡ ImportError: No module named β¦
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² hidden-import.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ os, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
Π€Π°ΠΉΠ» spec
Π€Π°ΠΉΠ» spec β ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ PyInstaller ΡΠΎΠ·Π΄Π°Π΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Python Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅.
PyInstaller ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π½ΠΈΠΆΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ simpleModel.py, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ TensorFlow ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller:
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡΠΏΡΠ°Π²ΠΈΠΌ Π΅Π΅, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΡΠ°ΠΉΠ» spec. ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ β ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» spec.
ΠΠΎΠΌΠ°Π½Π΄Π° pyi-makespec ΡΠΎΠ·Π΄Π°Π΅Ρ spec-ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π€Π°ΠΉΠ» simpleModel.spec ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ onedir, ΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ exe-ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ°Π·Π΄Π΅Π» collect.
ΠΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ simpleModel.spec ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ ΡΠΊΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ ΡΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΡ Π² hidden imports ΠΈ ΡΠ°Π·Π΄Π΅Π» Π΄Π°Π½Π½ΡΡ .
Π€Π°ΠΉΠ»Ρ Ρ ΡΠΊΠΎΠ² ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ PyInstaller ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠ²ΠΎΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ TensorFlow, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. PyInstaller Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ· PyInstaller.utils.hooks ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° simpleModel.spec.
Π‘ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²Π΅ΡΡΠΈΡ TensorFlow.
ΠΡΠ²ΠΎΠ΄:
PyInstaller ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΡΠΊΡΠΈΠΏΡΠΎΠ²:
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° python 3 Π² exe Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ cx_Freeze
ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ°, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ Π½Π΅ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»ΠΈΠΌΠΎΠ΅ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, Π° ΠΈΠ·ΡΠ΅Π΄ΠΊΠ° ΠΈ ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° python Π² exe ΡΠ°ΠΉΠ». Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ cx_Freeze.
ΠΠΎΠΏΡΠΎΡ 1: Π° ΠΎΠ½ΠΎ Π½Π°Π΄ΠΎ?
ΠΡΠ΅ΠΆΠ΄Π΅, ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ python, ΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° cx_Freeze
ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° python Π²ΡΡ-ΡΠ°ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ cx_Freeze Ρ http://www.lfd.uci.edu/
gohlke/pythonlibs/#cx_freeze (ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΉ Π½Π΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ Π±Π°Π³Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ).
ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ, Π½Π΅ Π·Π°Π±ΡΠ²Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, Π³Π΄Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ python.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «Π±Π»ΡΠΊΠ΄ΠΆΠ΅ΠΊ» (ΡΠ°ΠΉΠ» 21.py) (ΠΊΠΎΠΌΡ Π»Π΅Π½Ρ ΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΏΡΠΈΠ²ΠΎΠΆΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄).
Π‘ΠΎΠ·Π΄Π°ΡΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΡΠ°ΠΉΠ» setup.py Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΡΡΠΊ β Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ β ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°). ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ (Π² ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ D:\Dima\py). ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ C:\Python34\python.exe setup.py build (Π²ΠΌΠ΅ΡΡΠΎ C:\Python34 Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΊΡΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ python).
ΠΠ°ΡΠ½Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ cx_Freeze ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, Π½ΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ! Π ΠΏΠ°ΠΏΠΊΠ΅ build ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ Π²Π°ΡΠ° ΠΏΠ°ΠΏΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ!
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, Π½Π΅ ΡΠ°ΠΉΠ», Π° ΠΏΠ°ΠΏΠΊΠ°! ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (Π΄Π°, ΡΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ cx_Freeze). Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠΊΠ½ΠΎ ΡΡΠ°Π·Ρ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ (Π° Π½Π΅ ΠΆΠ΄Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ), ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
Π ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΅ΡΡ ΡΠ°Π·.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ msi-Π°ΡΡ ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ C:\Python34\python.exe setup.py bdist_msi.
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.
ΠΠ»Ρ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Auto PY to EXE
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ΅Π· pip
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΡΠΈΡ Auto PY to EXE.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Ρ GitHub
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π½Π°ΠΏΡΡΠΌΡΡ Ρ GitHub. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Auto PY to EXE Ρ GitHub Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GitHub.
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π’Π΅ΠΊΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ Auto PY to EXE 2.9.0 ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π½Π° Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Auto PY to EXE, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ GUI:
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Auto PY to EXE
ΠΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
Π¨Π°Π³ 1. ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Python ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ΄Π΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° Python. ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ GUI, Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. Π ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π΄Π΅ΡΡ: Build a Sorting Algorithm Visualizer in Python
Π¨Π°Π³ 2. ΠΡΠ±ΠΎΡ Β«One DirectoryΒ» ΠΈΠ»ΠΈ Β«One FileΒ»
One directory ΠΈΠ»ΠΈ One file
Π¨Π°Π³ 3. ΠΡΠ±ΠΎΡ Β«Console BasedΒ» ΠΈΠ»ΠΈ Β«Window BasedΒ»
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΠΏ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ (Console Based) ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ½Π½ΠΎΠ΅ (Window Based). ΠΡΠ»ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Β«Window BasedΒ», ΡΠΎ ΡΡΠΎ ΡΠΊΡΠΎΠ΅Ρ Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Β«Console BasedΒ». ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ GUI ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄, ΡΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Β«Window BasedΒ». Π― Π²ΡΠ±ΡΠ°Π» Π²ΡΠΎΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ GUI.
Console Based ΠΈΠ»ΠΈ Window Based
Π¨Π°Π³ 4. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΡΠΈΠ΄ΡΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ.
ΠΠ°ΠΏΠΊΠ° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΡ ΠΎΡΠΊΡΡΡΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ.
ΠΠΎΡΠΎΠ²ΠΎ! ΠΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Python ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python.
Π Π΅ΡΡΡΡΡ
ΠΠ° ΠΏΡΠ°Π²Π°Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΡ
Π‘Π΅ΡΠ²Π΅ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ , Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²! VDS Ρ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎΠΉ ΠΎΠΏΠ»Π°ΡΠΎΠΉ Π½Π° Π±Π°Π·Π΅ Π½ΠΎΠ²Π΅ΠΉΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD EPYC ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ NVMe Π΄ΠΈΡΠΊΠΎΠ² ΠΎΡ Intel Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΠΏΠ°ΡΡ ΠΊΠ»ΠΈΠΊΠΎΠ²!
Π‘ΡΠ°ΡΡΡ ΠΠ°ΠΊΡΠ΅ΠΌ Python Π² EXE
ΠΠ°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ Π½Π°Π΄ΠΎ? ΠΠ° ΠΏΠΎ ΡΡΡΠΈ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π². ΠΠΎ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ»Π·Ρ, ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Ρ Π½Π΅ΠΉ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠΌΡ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³Ρ Π΅ΡΡΡ Python, ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ. Π Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π½Π΅ ΡΠ°ΡΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π² ΠΊΠΎΠ΄ΠΈΠ½Π³Π΅, ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΈΡΠΎΠ½Π° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΠΎΡ ΡΠΎΠ³Π΄Π° ΠΈ Π²ΡΡΡΡΠ°Π΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² EXE. Π’Π°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ ΠΌΡΡΠΊΠΈ, Π²ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ Π΅ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π― ΡΠ°ΡΡΠΌΠΎΡΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ, Π±Π΅Π· Π²ΡΡΠΊΠΈΡ Π·Π°ΠΌΠΎΡΠΎΡΠ΅ΠΊ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π·Π±Π΅ΡΡΡΡΡ Π»ΡΠ±ΠΎΠΉ Π½ΠΎΠ²ΠΈΡΠΎΠΊ.
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π°ΡΡ ΠΈΠ². ΠΠ½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉΡΡ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ ΠΌΡΡΠΊΠΈ.
Π’Π°ΠΊ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ΄ΠΎΠΏΡΡΠ½ΡΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΡΠΎΡΡΡΠΏΠ°Π» ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ», ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ. ΠΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
ΠΠΎΡ ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ
ΠΠΌΡΠΌ Build, ΠΏΡΠΎΠ³Π° ΡΡΡΠΎΠΊ ΠΏΠΎΠΊΠΎΠ»Π΄ΡΠ΅Ρ, Π²ΡΠ΄Π°ΡΡ Π½Π°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΡΡΡΡ 2 ΠΏΠ°ΠΏΠΊΠΈ
Π ΠΏΠ°ΠΏΠΊΠ΅ dist ΠΈ Π±ΡΠ΄Π΅Ρ Π»Π΅ΠΆΠ°ΡΡ Π½Π°Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ EXE. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±Π΅ ΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΡΠ΄Π°Π»ΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° Π½Π΅Π³ΠΎ.
explorer
ΡΠΎΠ²Π°ΡΠΈΡ Π‘ΡΡ ΠΎΠ²
Active member
Π Π°Π·ΠΌΠ΅Ρ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠΆΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 13827ΠΠ. ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΠ΅Π»ΡΠΊΠ°Π΅Ρ ΠΏΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΡΡ. Π€Π°ΠΉΠ»Ρ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ ΠΈ ΠΌΡΠ·ΡΠΊΠΎΠΉ, ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ.
ΠΠ°ΠΊ ΠΆΠ΅ Ρ ΠΎΡΠΎΡ ΠΌΠΎΠΉ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΈ ΡΠΎΠ΄Π½ΠΎΠΉ Π‘.
explorer
ΠΡ Π²ΠΎΡ Ρ ΠΈ Π²Π΅ΡΠ½ΡΠ»ΡΡ Ρ ΠΌΠΎΡΡ. ΠΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ ΡΡΠΎ Π΅ΡΡΡ Π±Π°Π³, ΡΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² EXE.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΡΠΎΠ³Π½Π°Π» ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΈ Π²ΡΡΡΠ½ΠΈΠ» ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ 3 ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»Π» Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ.
ΠΡΠ°Π±Π»ΠΈ, Π³ΡΠ°Π±Π»ΠΈ, Π³ΡΠ°Π±Π»ΠΈ.
1. ΠΡΡΡΡΡΡΠ²ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ dll Π² ΡΠ°ΠΌΠΎΠΉ Π²ΠΈΠ½Π΄Π΅.
2. ΠΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΊΡΡΡΡΠΉ ΠΈΠΌΠΏΠΎΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅. Π ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΊΠ΅ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: WARNING: Hidden import «pygame._view» not found!
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ±ΠΎΡΡΠΈΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΡ ΠΏΡΡΠ΅ΠΉ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ.
3. Π€Π°ΠΉΠ» «ΠΌΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.py» ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π΄Π²ΠΎΠΉΠ½ΡΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΌΡΡΠΊΠΈ, Π° Π»ΠΈΡΡ ΡΠ΅ΡΠ΅Π· IDLE ΠΈ Ρ.ΠΏ.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠ΅ΡΠ΅Π· Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ»Π·Ρ. ΠΡΠ°Π²Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΡΠΎΠΊ ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅, Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ cx_Freeze.
Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ wheel. Π cmd Π²Π²ΠΎΠ΄ΠΈΠΌ pip install wheel ΠΈΠ»ΠΈ pip3 install wheel
ΠΠ°Π»Π΅Π΅ ΠΠΠΠ‘Π¬ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ cx_Freeze
Π‘ΠΊΠ°ΡΠ°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»ΠΈΠΊ ΠΊΠΈΠ΄Π°Π΅ΠΌ Π² ΠΊΠΎΡΠ΅Π½Ρ Π΄ΠΈΡΠΊΠ° Π‘ ΠΈ Π² cmd Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install Π‘:\cx_Freeze-5.1.1-cp36-cp36m-win32.whl (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ)
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» «setup.py» Π² ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄:
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ pyinstaller, ΡΠ±ΠΎΡΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ», Π° Π±ΡΠ΄Π΅Ρ ΠΊΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠΎ ΡΡΡΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΡΠ°Π±Π» Π²Π΅ΡΡΠΈΡ. Π ΡΡΠΎΠΌ ΠΌΠΈΠ½ΡΡ. ΠΠ»ΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅, ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠΏΡΡΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠΎΠ±ΡΠ°ΡΡ ΠΎΡΠΊΡΡΡΠΊΡ ΠΈΠ· ΡΠ΅ΠΌΡ ΠΠ°ΡΠ΅ΠΌ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΡΠΊΡΡΡΠΊΡ Π½Π° Python ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ setup.py Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ. ΠΡΠΈΡΠ»ΠΎΡΡ ΠΊΠΎΠ»Π΄ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠ° 1,5 ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
Π‘Π½Π°ΡΠ°Π»Π° cx_Freeze ΡΡΠ³Π°Π»Π°ΡΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»Ρ tkinter, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠ³Π»Π° Π½Π°ΠΉΡΠΈ ΠΏΡΡΠΈ ΠΊ tcl8.6 ΠΈ tk8.6. ΠΡΡΡΠ½ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π», Π½Π° ΡΡΠΎΠΌ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈΡΡ. ΠΠ°Π»ΡΡΠ΅ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π΅ΠΉ dll-ΠΎΠΊ, ΡΠΎΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ». ΠΠ΄ΠΎΠ²ΠΎΠ»Ρ ΠΏΠΎΠΈΠ·Π²ΡΠ°ΡΠ°Π²ΡΠΈΡΡ, ΠΏΡΠΎΠ³Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ±ΡΠ°Π»Π°ΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ Π±Π΅ΡΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ pygame ΡΠ΅Π·Π°Π»ΠΎ Π³Π»Π°Π·Π°
ΠΡΡ ΠΌΠ°Π»ΠΎΡΡΡ ΡΠ°ΠΌΠ°Π½ΡΠΊΠΈΡ ΡΠ°Π½ΡΠ΅Π² Ρ Π±ΡΠ±Π½ΠΎΠΌ ΠΈ Π½Π°ΡΠΈ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ»ΠΈ )))
ΠΠ΅ΡΡ ΡΡΠΎΡ Π³Π΅ΠΌΠΎΡ Ρ ΠΏΠΎΠ±Π΅Π΄ΠΈΠ» Π»ΠΈΡΡ ΠΈΠ·-Π·Π° ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ°
ΠΡΡΠ°ΡΠΈ ΠΎΡΠΊΡΡΡΠΊΠ° Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π² Pyinstaller ΡΠΎΠΆΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ±ΡΠ°Π»Π°ΡΡ Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΡΠ°Π½ΡΠ΅Π² Ρ Π±ΡΠ±Π½ΠΎΠΌ
ΡΠΎΠ²Π°ΡΠΈΡ Π‘ΡΡ ΠΎΠ²
Active member
PS ΠΠΎΡΠΌΠΎΡΡΠ΅Π» ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΆΠ΅Π»Π΅Π·Π΅ Π΄Π»Ρ Java, Python ΠΈ C (Π·Π°Π΄Π°ΡΠ° Π±ΡΠ»Π° Π½Π° ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ) ΠΈ ΠΏΠΎΡΡΠΈ Π½Π΅ ΡΠ΄ΠΈΠ²ΠΈΠ»ΡΡ: ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΎΡ 28 Π΄ΠΎ 40 ΡΠ°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.
Kultiapin
ΠΠ°ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ Π½Π°Π΄ΠΎ? ΠΠ° ΠΏΠΎ ΡΡΡΠΈ ΠΈ Π½Π΅ Π½Π°Π΄ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π². ΠΠΎ Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ»Π·Ρ, ΠΈ Ρ ΠΎΡΠΈΡΠ΅ Ρ Π½Π΅ΠΉ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Ρ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠΌΡ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ³Ρ Π΅ΡΡΡ Python, ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ. Π Π±ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π½Π΅ ΡΠ°ΡΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π² ΠΊΠΎΠ΄ΠΈΠ½Π³Π΅, ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΈΡΠΎΠ½Π° Π½ΡΠΆΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΠΎΡ ΡΠΎΠ³Π΄Π° ΠΈ Π²ΡΡΡΡΠ°Π΅Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² EXE. Π’Π°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ ΠΌΡΡΠΊΠΈ, Π²ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ.
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ Π΅ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π― ΡΠ°ΡΡΠΌΠΎΡΡΡ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ, Π±Π΅Π· Π²ΡΡΠΊΠΈΡ Π·Π°ΠΌΠΎΡΠΎΡΠ΅ΠΊ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π·Π±Π΅ΡΡΡΡΡ Π»ΡΠ±ΠΎΠΉ Π½ΠΎΠ²ΠΈΡΠΎΠΊ.
Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Π°ΡΡ ΠΈΠ². ΠΠ½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉΡΡ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ ΠΌΡΡΠΊΠΈ.
Π’Π°ΠΊ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΠ΄ΠΎΠΏΡΡΠ½ΡΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΡΠΎΡΡΡΠΏΠ°Π» ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ», ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ. ΠΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ-ΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³Ρ, ΡΠ°ΠΊ ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 21795
ΠΠΌΡΠΌ Build, ΠΏΡΠΎΠ³Π° ΡΡΡΠΎΠΊ ΠΏΠΎΠΊΠΎΠ»Π΄ΡΠ΅Ρ, Π²ΡΠ΄Π°ΡΡ Π½Π°ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅.
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 21797
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ²ΡΡΡΡ 2 ΠΏΠ°ΠΏΠΊΠΈ
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 21798
Π ΠΏΠ°ΠΏΠΊΠ΅ dist ΠΈ Π±ΡΠ΄Π΅Ρ Π»Π΅ΠΆΠ°ΡΡ Π½Π°Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ EXE. ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ, Π° ΠΏΠΎΡΠΎΠΌ ΠΎΠ±Π΅ ΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΡΠ΄Π°Π»ΡΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠ»ΠΈΠΊΠ½ΡΠ² Π½Π° Π½Π΅Π³ΠΎ.
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 21799