βΉοΈ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/ |
| Last Crawled | 2026-04-17 15:30:19 (2 days ago) |
| First Indexed | 2024-11-21 11:30:25 (1 year ago) |
| HTTP Status Code | 200 |
| Meta Title | Python-ΠΏΡΠΎΠ΅ΠΊΡ Π² EXE-ΡΠ°ΠΉΠ» ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° |
| Meta Description | <p>Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Python-ΠΏΡΠΎΠ΅ΠΊΡ Π² exe-ΡΠ°ΠΉΠ», Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°.</p> |
| Meta Canonical | null |
| Boilerpipe Text | Π Π°Π±ΠΎΡΠ°Ρ Π½Π° ΡΡΠΈΠ»Π°Π½ΡΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΈ ΠΎ ΡΠΎΡ
ΡΠ°Π½Π½ΠΎΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΄Π°. Π§ΡΠΎ Ρ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ? ΠΠ°ΠΌ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΈΡΠΊΠΈ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, Π° ΡΠΎΡ ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°Ρ Π΅Ρ. ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΡ ΡΡΠΈΠ»Π°Π½ΡΠ°, Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π°Ρ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ "Π΄Π΅ΠΌΠΎ Π²Π΅ΡΡΠΈΠΈ".
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠΏΠ»Π°ΡΡ:
ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± - Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΡΠΈΡΡ Telegram-Π±ΠΎΡΠ° ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ).
Π‘Π±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
(ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ Ρ ΡΠ΅Π±Ρ, ΠΏΡΠΎΠΏΠΈΡΠ°Π² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ) ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π‘Π±ΠΎΡΠΊΠ° exe-ΡΠ°ΠΉΠ»Π° Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΡ: ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π₯ΠΎΡΡ ΠΎΠ½Π° Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅ΡΡΠ·Π²ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ (
reverse engeneering
).
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ, ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π»
Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»
. Π’Π°ΠΌ Ρ Π΄Π΅Π»ΡΡΡ Π³Π°ΠΉΠ΄Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)?
Π‘Π±ΠΎΡΠΊΠ° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ (
exe
) ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Python-ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ»/ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python.
ΠΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ±ΠΎΡΠΊΠΈ:
ΠΠ°ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ PyInstaller
β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ½ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ, ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ
exe
-ΡΠ°ΠΉΠ»Π°:
pyinstaller --onefile script.py
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Nuitka
β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Python Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ), ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python. Nuitka ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python.
Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Nuitka:
nuitka --standalone script.py
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°?
ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°
β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΏΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (
reverse engeneering
).
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ Π½Π΅ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡ ΡΠ΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠ½Π³Π°. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π·Π°ΡΠΈΡΠ°.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π²Π΅ΡΡΠΌΠ° ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΠ½ΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
:
PyArmor
β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Python ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PyArmor:
pyarmor pack script.py
Nuitka
β Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Nuitka ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Python, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.
Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
.
Β
Python Minifier
β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Python ΠΊΠΎΠ΄Π°. ΠΠ½ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ.
Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python Minifier:
pyminify example.py --output example.min.py
Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΅?
ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π΄Π²ΡΡ
:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ
Python Minifier
, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠ°ΠΊΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ
PyInstaller
.
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ
Nuitka
.
ΠΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΡ Π±ΡΠ΄ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΈ Π²ΡΠ±ΠΎΡ Π±ΡΠ΄Π΅Ρ Π·Π° Π²Π°ΠΌΠΈ.
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΏΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅
MPF Tools Converter
, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΈΡΡΠ΅Π»Ρ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ (Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ Π»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ ΠΎΠ± ΡΡΠΎΠΌ). ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ:
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub
.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ!
β οΈΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!β οΈ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ! Π’ΠΎ Π΅ΡΡΡ: Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ±ΠΎΡΠΊΡ Π½Π° Linux, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Linux, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ±ΠΎΡΠΊΡ Π½Π° Windows, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Windows.
Π Π°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ· Linux Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Windows, Π½Π΅ ΠΏΡΠΈΠ±Π΅Π³Π°Ρ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π½Π΅ Π½Π°ΡΡΠ». ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
!
Python Minifier + PyInstaller
Π‘
Python Minifier
Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΡ: ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ β ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π° ΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΈΡ
ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Python Minifier
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install python-minifier
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ "ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ" ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ-ΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°:
https://dflook.github.io/python-minifier/command_usage.html
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ·
main.py-ΡΠ°ΠΉΠ»Π°
ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°
app
Ρ Π΅ΡΡ Π΄Π²ΡΠΌΡ
.py-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
pyminify main.py app/ --in-place
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π»
main.py
Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ:
Π Π²ΠΎΡ ΡΠ°ΠΊ ΠΏΠΎΡΠ»Π΅:
ΠΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ:
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ, Ρ.ΠΊ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Flet ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΡΡΠΈΠ½Π° Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°Π·Π±ΠΎΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΉΠΌΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΈΠ».
ΠΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PyInstaller
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ
PyInstaller
ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ PyInstaller:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ (Windows, macOS, Linux).
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GUI.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ PyInstaller?
PyInstaller Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Python, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡ
Π² ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½:
ΠΎΠ΄Π½ΠΈΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ (ΡΠ΅ΠΆΠΈΠΌ
onefile
).
ΠΏΠ°ΠΏΠΊΠΎΠΉ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ (ΡΠ΅ΠΆΠΈΠΌ
onedir
).
PyInstaller ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ Python-ΡΠΊΡΠΈΠΏΡ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install -U pyinstaller
Π£ PyInstaller ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° "ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ". ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
https://pyinstaller.org/en/stable/usage.html
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
pyinstaller --noconfirm --onefile --noconsole \
--name 'MPF Converting Tool' --icon './favicon.ico' \
--add-data './app:app/' \
'main.py'
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
--noconfirm
- ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ. PyInstaller Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
--onefile
- ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠ°ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡΠ΄ΠΎΠΌ.
--noconsole
- Π£Π±ΠΈΡΠ°Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ Π½ΡΠΆΠ½Π°.
--name 'MPF Converting Tool'
- ΠΠ°Π΄Π°ΡΡ ΠΈΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ
MPF Converting Tool.exe
(Π½Π° Windows) ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ
MPF Converting Tool
(Π½Π° Linux/MacOS).
--icon './favicon.ico'
- Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
favicon.ico
.
--add-data './app:app/'
- ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ±ΠΎΡΠΊΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΠΏΠΊΠ°
./app
Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ
app/
. Π€ΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ:
source:destination
.
'main.py'
- ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ PyInstaller Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π°ΡΠ½ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π²ΡΡ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΏΠΈΡΡ "27927 INFO: Building EXE from EXE-00.toc completed successfully.".
Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ PyInstaller ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄Π²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
build
ΠΈ
dist
.
Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
build
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
dist
ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΊΡΠΎΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
dist
Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅. Π’Π°ΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
ΠΠ°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
Π― ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ, ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΈΡ
ΡΡΠ΄ΠΎΠΌ:
Π Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΠ½ΠΎΠ²Π°:
Π‘Π»Π΅ΡΠ΅Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π½Π° Linux. Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΡΠΈΠ»Π°ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python Minifier + PyInstaller
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ ΠΈ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ.Β
Python Minifier Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ - ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΡΠΌΠ΅ΡΡ Π΅ΡΡ ΡΠ°Π·, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ ΠΈ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΠΆΠ΅ PyArmor, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡ ΠΈ ΡΠΈΡΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ ΠΎΠ½ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ Π·Π°Π΄Π°Ρ Π΄Π»Ρ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ PyInstaller, ΡΠΎ ΡΡΠΎ ΠΆΠΈΠ²Π°Ρ ΠΊΠ»Π°ΡΡΠΈΠΊΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: ΠΏΠΎΡΡΠΈ 40 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ! Π ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ
.py-ΡΠ°ΠΉΠ»Π°
+ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΡ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python.
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² Nuitka
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
Nuitka
ΠΈ ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
PyInstaller
ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Ρ
Python Minifier
.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Nuitka:
ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Python ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Nuitka:
ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π»ΠΈΡΠΈΡ Python.
ΠΠ°ΠΊ Nuitka ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ PyInstaller?
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°
PyInstaller
Nuitka
Π’ΠΈΠΏ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ
Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Python-ΠΊΠΎΠ΄ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· C
Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°
ΠΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ
ΠΠ΅Π½ΡΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΡΡΠ΅ Π·Π° ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Python
ΠΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ C API
Π¦Π΅Π»Ρ
ΠΡΡΡΡΠ°Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ
Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ,
Nuitka
ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠ΅ΡΠ΅Π΄
PyInstaller
, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Minifier ΠΏΠ΅ΡΠ΅Π΄ Nuitka?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Ρ
PyInstaller
, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
Nuitka
ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. Π‘Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΆΠ΅ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π·Π°ΡΠΈΡΡ,
Nuitka
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ:
ΠΠ΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ
(Commercial Edition) Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ
Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΠΌΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Nuitka
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install -U nuitka
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ, Nuitka ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΠ»Ρ Windows:
Visual Studio 2022
ΠΈΠ»ΠΈ Π²ΡΡΠ΅.
ΠΠ΅ ΠΏΡΡΠ°ΡΡ Ρ VisualStudio Code / VSCode!
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π² Visual Studio, ΡΡΠΎΠ±Ρ Nuitka ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π΅Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π»Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ
MinGW64
. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ
--mingw64
.
Nuitka
ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ Visual Studio.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Visual Studio ΠΈ MinGW64.
ΠΠ»Ρ Lunux:
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
GCC-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ
ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ
clang
.
ΠΠ»Ρ macOS:
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Clang. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅
XCode
ΠΈΠ·
Apple Store
.
ΠΠ°ΠΏΡΡΠΊ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
nuitka --standalone --onefile --output-filename="MPF Converting Tool" \
--windows-disable-console --windows-icon-from-ico=./favicon.ico \
main.py
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
--standalone
- Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
--onefile
- Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ».
--output-filename="MPF Converting Tool"
- Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠΌΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. (ΠΠ»Ρ
Windows
Π² ΠΊΠΎΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ
.exe
!)
--windows-disable-console
- ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
--windows-icon-from-ico=./favicon.ico
- ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠΊΠΎΠ½ΠΊΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
main.py
- ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ΅ΠΊΡ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΎΡΠΎΠΏΠ»ΠΈΠ²ΡΠΌ ΠΈ Π·Π°Π½ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
main.build
,
main.dist
ΠΈ
main.onefile-build
, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»:
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ:
ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Nuitka
ΠΡΠΈ Π±Π΅Π³Π»ΠΎΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π΅,
Nuitka
ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ "ΡΠ°Π·Π±ΠΎΡΠ°" ΡΠ°ΠΉΠ»Π° Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 31 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
PyInstaller
Π½Π° 10 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΡΠ΄Π°ΡΡΠΈΠΌΡΡ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ° ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
Π§ΡΠΎ Π»ΡΡΡΠ΅ β PyInstaller ΠΈΠ»ΠΈ Nuitka?
ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ β Π±ΡΡΡΡΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ,
PyInstaller
ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π»ΡΡΡΠ΅: ΠΎΠ½ ΠΏΡΠΎΡΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅
Nuitka
.
ΠΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅, Π½Π΅ ΠΏΡΠΈΠ·ΡΠ² ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΄Π°. Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ. ΠΡΠ±ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ, ΠΎΡΡΠ°ΡΡΡΡ Π·Π° Π²Π°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π»
Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»
. Π’Π°ΠΌ Ρ Π΄Π΅Π»ΡΡΡ Π³Π°ΠΉΠ΄Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². |
| Markdown | 
[ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#content)
[ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅](https://pressanybutton.ru/)
##### ΠΠ΅Π½Ρ
- [ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/)
- [ΠΠ°ΠΉΠ΄Ρ](https://pressanybutton.ru/category/gajdy/)
- [ΠΡΡΡ Π² IT](https://pressanybutton.ru/category/put-v-it/)
- [ΠΠΎΠ²ΠΎΡΡΠΈ](https://pressanybutton.ru/category/novosti/)
- [ΠΠΎΠ΄ Π² ΠΌΠ΅ΡΠΊΠ΅](https://pressanybutton.ru/category/kod-v-meshke/)
- [ΠΠΈΠ΄Π΅ΠΎ](https://pressanybutton.ru/category/video/)
- [Obsidian Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ](https://pressanybutton.ru/category/obsidian-dlya-polzovatelya/)
- [Open Source](https://pressanybutton.ru/category/nashi-open-source-proekty/)
- [ΠΠ°Π·Π°-Π·Π½Π°Π½ΠΈΠΉ](https://pressanybutton.ru/category/baza-znanij/)
- [Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Python ΠΈ Π‘/C++](https://pressanybutton.ru/category/sravnenie-python-i-s-cpp/)
- [ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ ΠΠ](https://pressanybutton.ru/category/eksperimenty-s-ii/)
Π’Π΅ΠΌΠ°
[ΠΡ
ΠΎΠ΄](https://pressanybutton.ru/user/login/) [Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ](https://pressanybutton.ru/user/signup/)
1. [ΠΠ»Π°Π²Π½Π°Ρ](https://pressanybutton.ru/)
2. [ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ](https://pressanybutton.ru/category/poleznye-instrumenty/)
3. Python-ΠΏΡΠΎΠ΅ΠΊΡ Π² EXE-ΡΠ°ΠΉΠ» ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°
# Python-ΠΏΡΠΎΠ΅ΠΊΡ Π² EXE-ΡΠ°ΠΉΠ» ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°
[ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ](https://pressanybutton.ru/category/poleznye-instrumenty/) β’ [ΠΠ²Π°Π½ ΠΡΠΈΡ
ΠΌΠΈΠ½](https://pressanybutton.ru/user/proDream/) β’
21 ΠΠΎΡΠ±ΡΡ 2024
β’ 6046
[ΠΠ°ΠΉΠ΄Ρ](https://pressanybutton.ru/tag/%D0%B3%D0%B0%D0%B9%D0%B4%D1%8B/) [ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ](https://pressanybutton.ru/tag/%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B/) [Π·Π°ΡΠΈΡΠ°](https://pressanybutton.ru/tag/%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0/) [pyinstaller](https://pressanybutton.ru/tag/pyinstaller/) [python minifier](https://pressanybutton.ru/tag/python-minifier/) [ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ](https://pressanybutton.ru/tag/%D0%BE%D0%B1%D1%84%D1%83%D1%81%D0%BA%D0%B0%D1%86%D0%B8%D1%8F/) [ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ](https://pressanybutton.ru/tag/%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F/) [nuitka](https://pressanybutton.ru/tag/nuitka/) [pyarmor](https://pressanybutton.ru/tag/pyarmor/) [exe](https://pressanybutton.ru/tag/exe/)
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Python-ΠΏΡΠΎΠ΅ΠΊΡ Π² exe-ΡΠ°ΠΉΠ», Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°.

[ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ](https://pressanybutton.ru/category/poleznye-instrumenty/) β’ [ΠΠ²Π°Π½ ΠΡΠΈΡ
ΠΌΠΈΠ½](https://pressanybutton.ru/user/proDream/) β’
21 ΠΠΎΡΠ±ΡΡ 2024
β’ 6046
[β ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ°Ρ](https://pressanybutton.ru/post/poleznye-instrumenty/obsidian-livesync-sovmestnaya-rabota-nad-proektnoj/)
[Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ β](https://pressanybutton.ru/post/poleznye-instrumenty/besplatnyj-analog-chatgpt-na-svoyom-pk/)
Π Π°Π±ΠΎΡΠ°Ρ Π½Π° ΡΡΠΈΠ»Π°Π½ΡΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΈ ΠΎ ΡΠΎΡ
ΡΠ°Π½Π½ΠΎΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΄Π°. Π§ΡΠΎ Ρ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ? ΠΠ°ΠΌ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΈΡΠΊΠΈ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, Π° ΡΠΎΡ ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°Ρ Π΅Ρ. ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΡ ΡΡΠΈΠ»Π°Π½ΡΠ°, Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π°Ρ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ "Π΄Π΅ΠΌΠΎ Π²Π΅ΡΡΠΈΠΈ".
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠΏΠ»Π°ΡΡ:
1. **ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ.**
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± - Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΡΠΈΡΡ Telegram-Π±ΠΎΡΠ° ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ).
2. **Π‘Π±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)**
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
(ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ Ρ ΡΠ΅Π±Ρ, ΠΏΡΠΎΠΏΠΈΡΠ°Π² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ) ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
3. **Π‘Π±ΠΎΡΠΊΠ° exe-ΡΠ°ΠΉΠ»Π° Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°**
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΡ: ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π₯ΠΎΡΡ ΠΎΠ½Π° Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅ΡΡΠ·Π²ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ (`reverse engeneering`).
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ, ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π» [Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»](https://t.me/+gCWO9K8Dd642NTYy). Π’Π°ΠΌ Ρ Π΄Π΅Π»ΡΡΡ Π³Π°ΠΉΠ΄Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
## Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)?
Π‘Π±ΠΎΡΠΊΠ° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ (`exe`) ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Python-ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ»/ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python.
ΠΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ±ΠΎΡΠΊΠΈ:
1. **ΠΠ°ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ PyInstaller** β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ½ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ, ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
[Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://pyinstaller.org/en/stable/).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ `exe`\-ΡΠ°ΠΉΠ»Π°:
```
pyinstaller --onefile script.py
```
1. **ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Nuitka** β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Python Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ), ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python. Nuitka ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python.
[Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://nuitka.net/).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Nuitka:
```
nuitka --standalone script.py
```
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅.
## Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°?
**ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°** β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΏΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (`reverse engeneering`).
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ Π½Π΅ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡ ΡΠ΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠ½Π³Π°. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π·Π°ΡΠΈΡΠ°.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π²Π΅ΡΡΠΌΠ° ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΠ½ΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
:
1. **PyArmor** β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Python ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
[Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://github.com/dashingsoft/pyarmor).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PyArmor:
```
pyarmor pack script.py
```
1. **Nuitka** β Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Nuitka ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Python, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.
[Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://nuitka.net/).
2. **Python Minifier** β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Python ΠΊΠΎΠ΄Π°. ΠΠ½ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ.
[Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://github.com/dflook/python-minifier).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python Minifier:
```
pyminify example.py --output example.min.py
```
## Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΅?
ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π΄Π²ΡΡ
:
1. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ `Python Minifier`, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠ°ΠΊΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ `PyInstaller`.
2. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ `Nuitka`.
ΠΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΡ Π±ΡΠ΄ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΈ Π²ΡΠ±ΠΎΡ Π±ΡΠ΄Π΅Ρ Π·Π° Π²Π°ΠΌΠΈ.
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΏΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ `MPF Tools Converter`, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΈΡΡΠ΅Π»Ρ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ (Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ Π»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ ΠΎΠ± ΡΡΠΎΠΌ). ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ: [ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub](https://github.com/proDreams/mpf_tools_converter).
ΠΡΠΈΡΡΡΠΏΠΈΠΌ\!
### β οΈΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!β οΈ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ! Π’ΠΎ Π΅ΡΡΡ: Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ±ΠΎΡΠΊΡ Π½Π° Linux, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Linux, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ±ΠΎΡΠΊΡ Π½Π° Windows, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Windows.
Π Π°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ· Linux Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Windows, Π½Π΅ ΠΏΡΠΈΠ±Π΅Π³Π°Ρ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π½Π΅ Π½Π°ΡΡΠ». ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
\!
## Python Minifier + PyInstaller
Π‘ `Python Minifier` Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΡ: ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ β ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π° ΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΈΡ
ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ.
### ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Python Minifier
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pip install python-minifier
```
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ "ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ" ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ-ΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°: <https://dflook.github.io/python-minifier/command_usage.html>
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· `main.py-ΡΠ°ΠΉΠ»Π°` ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° `app` Ρ Π΅ΡΡ Π΄Π²ΡΠΌΡ `.py-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ`. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
```
pyminify main.py app/ --in-place
```
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π» `main.py` Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ:

Π Π²ΠΎΡ ΡΠ°ΠΊ ΠΏΠΎΡΠ»Π΅:

ΠΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ:


ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ, Ρ.ΠΊ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Flet ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΡΡΠΈΠ½Π° Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°Π·Π±ΠΎΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΉΠΌΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΈΠ».
ΠΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:

### ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PyInstaller
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ `PyInstaller` ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅.
#### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ PyInstaller:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ (Windows, macOS, Linux).
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GUI.
#### ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ PyInstaller?
PyInstaller Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Python, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡ
Π² ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½:
- ΠΎΠ΄Π½ΠΈΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ (ΡΠ΅ΠΆΠΈΠΌ `onefile`).
- ΠΏΠ°ΠΏΠΊΠΎΠΉ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ (ΡΠ΅ΠΆΠΈΠΌ `onedir`).
PyInstaller ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ Python-ΡΠΊΡΠΈΠΏΡ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
#### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pip install -U pyinstaller
```
Π£ PyInstaller ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° "ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ". ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: <https://pyinstaller.org/en/stable/usage.html>
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
```
pyinstaller --noconfirm --onefile --noconsole \
--name 'MPF Converting Tool' --icon './favicon.ico' \
--add-data './app:app/' \
'main.py'
```
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- `--noconfirm` - ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ. PyInstaller Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
- `--onefile` - ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠ°ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡΠ΄ΠΎΠΌ.
- `--noconsole` - Π£Π±ΠΈΡΠ°Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ Π½ΡΠΆΠ½Π°.
- `--name 'MPF Converting Tool'` - ΠΠ°Π΄Π°ΡΡ ΠΈΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ `MPF Converting Tool.exe` (Π½Π° Windows) ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ `MPF Converting Tool` (Π½Π° Linux/MacOS).
- `--icon './favicon.ico'` - Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ `favicon.ico`.
- `--add-data './app:app/'` - ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ±ΠΎΡΠΊΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΠΏΠΊΠ° `./app` Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ `app/`. Π€ΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ: `source:destination`.
- `'main.py'` - ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ PyInstaller Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
#### Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π°ΡΠ½ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π²ΡΡ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΏΠΈΡΡ "27927 INFO: Building EXE from EXE-00.toc completed successfully.".
Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ PyInstaller ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄Π²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ: `build` ΠΈ `dist`.

Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ `build` ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ `dist` ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΊΡΠΎΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ `dist` Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅. Π’Π°ΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».

ΠΠ°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:

Π― ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ, ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΈΡ
ΡΡΠ΄ΠΎΠΌ:

Π Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΠ½ΠΎΠ²Π°:

Π‘Π»Π΅ΡΠ΅Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π½Π° Linux. Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΡΠΈΠ»Π°ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
### ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python Minifier + PyInstaller
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ ΠΈ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ.
Python Minifier Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ - ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΡΠΌΠ΅ΡΡ Π΅ΡΡ ΡΠ°Π·, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ ΠΈ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΠΆΠ΅ PyArmor, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡ ΠΈ ΡΠΈΡΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ ΠΎΠ½ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ Π·Π°Π΄Π°Ρ Π΄Π»Ρ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ PyInstaller, ΡΠΎ ΡΡΠΎ ΠΆΠΈΠ²Π°Ρ ΠΊΠ»Π°ΡΡΠΈΠΊΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: ΠΏΠΎΡΡΠΈ 40 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ! Π ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ `.py-ΡΠ°ΠΉΠ»Π°` + Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΡ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python.
## ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² Nuitka
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ **Nuitka** ΠΈ ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ **PyInstaller** ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Ρ **Python Minifier**.
### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Nuitka:
- ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Python ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ.
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
### ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Nuitka:
1. ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ.
2. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π»ΠΈΡΠΈΡ Python.
### ΠΠ°ΠΊ Nuitka ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ PyInstaller?
| **Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°** | **PyInstaller** | **Nuitka** |
|---|---|---|
| **Π’ΠΈΠΏ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ** | Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ | ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Python-ΠΊΠΎΠ΄ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· C |
| **Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°** | ΠΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ | ΠΠ΅Π½ΡΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ |
| **ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ** | ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° | ΠΡΡΠ΅ Π·Π° ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° |
| **Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ** | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Python | ΠΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ C API |
| **Π¦Π΅Π»Ρ** | ΠΡΡΡΡΠ°Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ | Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ |
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, `Nuitka` ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠ΅ΡΠ΅Π΄ `PyInstaller`, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
### ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Minifier ΠΏΠ΅ΡΠ΅Π΄ Nuitka?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Ρ `PyInstaller`, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ `Nuitka` ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. Π‘Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΆΠ΅ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π·Π°ΡΠΈΡΡ, `Nuitka` ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ:
- **ΠΠ΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ** Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
- **ΠΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ** (Commercial Edition) Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ
Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΠΌΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Nuitka
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pip install -U nuitka
```
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ, Nuitka ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
- **ΠΠ»Ρ Windows:**
- [Visual Studio 2022](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) ΠΈΠ»ΠΈ Π²ΡΡΠ΅. **ΠΠ΅ ΠΏΡΡΠ°ΡΡ Ρ VisualStudio Code / VSCode\!** ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π² Visual Studio, ΡΡΠΎΠ±Ρ Nuitka ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π΅Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π»Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
- ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ `MinGW64`. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ `--mingw64`. `Nuitka` ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ Visual Studio.
- ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Visual Studio ΠΈ MinGW64.
- **ΠΠ»Ρ Lunux:** ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ `GCC-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ` ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ `clang`.
- **ΠΠ»Ρ macOS:** ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Clang. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `XCode` ΠΈΠ· `Apple Store`.
### ΠΠ°ΠΏΡΡΠΊ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
nuitka --standalone --onefile --output-filename="MPF Converting Tool" \
--windows-disable-console --windows-icon-from-ico=./favicon.ico \
main.py
```
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
1. `--standalone` - Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
2. `--onefile` - Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ».
3. `--output-filename="MPF Converting Tool"` - Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠΌΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. (ΠΠ»Ρ **Windows** Π² ΠΊΠΎΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ `.exe`!)
4. `--windows-disable-console` - ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
5. `--windows-icon-from-ico=./favicon.ico` - ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠΊΠΎΠ½ΠΊΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
6. `main.py` - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ΅ΠΊΡ.
### Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΎΡΠΎΠΏΠ»ΠΈΠ²ΡΠΌ ΠΈ Π·Π°Π½ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ: `main.build`, `main.dist` ΠΈ `main.onefile-build`, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»:

Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ:

### ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Nuitka
ΠΡΠΈ Π±Π΅Π³Π»ΠΎΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π΅, `Nuitka` ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ "ΡΠ°Π·Π±ΠΎΡΠ°" ΡΠ°ΠΉΠ»Π° Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 31 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° `PyInstaller` Π½Π° 10 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΡΠ΄Π°ΡΡΠΈΠΌΡΡ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
## ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ° ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
### Π§ΡΠΎ Π»ΡΡΡΠ΅ β PyInstaller ΠΈΠ»ΠΈ Nuitka?
- ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ β Π±ΡΡΡΡΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, **PyInstaller** ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π»ΡΡΡΠ΅: ΠΎΠ½ ΠΏΡΠΎΡΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
- ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ **Nuitka**.
ΠΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅, Π½Π΅ ΠΏΡΠΈΠ·ΡΠ² ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΄Π°. Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ. ΠΡΠ±ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ, ΠΎΡΡΠ°ΡΡΡΡ Π·Π° Π²Π°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π» [Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»](https://t.me/+gCWO9K8Dd642NTYy). Π’Π°ΠΌ Ρ Π΄Π΅Π»ΡΡΡ Π³Π°ΠΉΠ΄Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΡΠ»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ β Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² Telegram Π°Π²ΡΠΎΡΠ°.

### ΠΠ²ΡΠΎΡ
#### [ΠΠ²Π°Π½ ΠΡΠΈΡ
ΠΌΠΈΠ½](https://pressanybutton.ru/user/proDream/)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ, ΡΡΠΈΠ»Π°Π½ΡΠ΅Ρ ΠΈ Π°Π²ΡΠΎΡ Π³Π°ΠΉΠ΄ΠΎΠ². ΠΠ°Π½ΠΈΠΌΠ°ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π±ΠΎΡΠΎΠ², ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ.
[Telegram](https://t.me/proDreams) [GitHub](https://github.com/proDreams) [Π‘Π°ΠΉΡ](https://pressanybutton.ru/) [ΠΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ](https://boosty.to/prodream)
## ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
β¬οΈ ΠΠ°Π²Π΅ΡΡ
## ΠΡΠ΅ ΡΡΠ°ΡΡΠΈ
Γ
- [Selectolax: Π±ΡΡΡΡΠ°Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Beautiful Soup](https://pressanybutton.ru/post/poleznye-instrumenty/selectolax-bystraya-alternativa-beautiful-soup/)
30 ΠΠΊΡΡΠ±ΡΡ 2025
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/selectolax-bystraya-alternativa-beautiful-soup/#comments)
- [ΠΠ±Π·ΠΎΡ WSGI, ASGI ΠΈ RSGI: Π»ΠΈΠ΄Π΅ΡΡ ΡΡΠ΅Π΄ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π² 2025 Π³ΠΎΠ΄Ρ](https://pressanybutton.ru/post/poleznye-instrumenty/obzor-wsgi-asgi-i-rsgi-lidery-sredi-veb-serverov-v-2025-godu/)
18 Π‘Π΅Π½ΡΡΠ±ΡΡ 2025
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/obzor-wsgi-asgi-i-rsgi-lidery-sredi-veb-serverov-v-2025-godu/#comments)
- [Napkin Random Bot: ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π±ΠΎΡΠ° Π΄Π»Ρ ΡΠ΅ΡΡΠ½ΡΡ
ΡΠΎΠ·ΡΠ³ΡΡΡΠ΅ΠΉ](https://pressanybutton.ru/post/poleznye-instrumenty/napkin-random-bot-kak-my-sozdali-bota-dlya-chestnyh-rozygryshej/)
04 Π‘Π΅Π½ΡΡΠ±ΡΡ 2025
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/napkin-random-bot-kak-my-sozdali-bota-dlya-chestnyh-rozygryshej/#comments)
- [Uptime Kuma 2 ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π±Π΅Π· VPS](https://pressanybutton.ru/post/poleznye-instrumenty/uptime-kuma-2-ustanovka-i-monitoring-servisov-bez-vps/)
28 ΠΠ²Π³ΡΡΡ 2025
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/uptime-kuma-2-ustanovka-i-monitoring-servisov-bez-vps/#comments)
- [ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ ChatGPT Π½Π° ΡΠ²ΠΎΡΠΌ ΠΠ](https://pressanybutton.ru/post/poleznye-instrumenty/besplatnyj-analog-chatgpt-na-svoyom-pk/)
28 ΠΠΎΡΠ±ΡΡ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/besplatnyj-analog-chatgpt-na-svoyom-pk/#comments)
- [Python-ΠΏΡΠΎΠ΅ΠΊΡ Π² EXE-ΡΠ°ΠΉΠ» ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/)
21 ΠΠΎΡΠ±ΡΡ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#comments) ΠΡ ΡΠΈΡΠ°Π΅ΡΠ΅
- [Obsidian LiveSync - ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ](https://pressanybutton.ru/post/poleznye-instrumenty/obsidian-livesync-sovmestnaya-rabota-nad-proektnoj/)
10 ΠΠΊΡΡΠ±ΡΡ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/obsidian-livesync-sovmestnaya-rabota-nad-proektnoj/#comments)
- [ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Caddy - ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° NGINX ΠΈ Apache](https://pressanybutton.ru/post/poleznye-instrumenty/veb-server-caddy-alternativa-nginx-i-apache/)
15 ΠΠ²Π³ΡΡΡ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/veb-server-caddy-alternativa-nginx-i-apache/#comments)
- [Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ
ΠΊΠΎΠΏΠΈΠΉ VPS Π½Π° Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠΊ](https://pressanybutton.ru/post/poleznye-instrumenty/sozdanie-rezervnyh-kopij-vps-na-yandeks-disk/)
27 ΠΠ°ΡΡ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/sozdanie-rezervnyh-kopij-vps-na-yandeks-disk/#comments)
- [Π Π°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Django-ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° Replit](https://pressanybutton.ru/post/poleznye-instrumenty/razvorachivanie-django-proekta-na-replit/)
06 ΠΠ°ΡΡ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/razvorachivanie-django-proekta-na-replit/#comments)
- [Π Π°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Django-ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° PythonAnyWhere](https://pressanybutton.ru/post/poleznye-instrumenty/razvorachivanie-django-proekta-na-pythonanywhere/)
08 Π€Π΅Π²ΡΠ°Π»Ρ 2024
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/razvorachivanie-django-proekta-na-pythonanywhere/#comments)
- [Cpp FreeGPT WebUI - ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ GPT Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅](https://pressanybutton.ru/post/poleznye-instrumenty/cpp-freegpt-webui-besplatnyj-gpt-na-vashem-servere/)
29 Π‘Π΅Π½ΡΡΠ±ΡΡ 2023
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/cpp-freegpt-webui-besplatnyj-gpt-na-vashem-servere/#comments)
- [Certbot - Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ SSL-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄Π»Ρ ΡΠ°ΠΉΡΠ°](https://pressanybutton.ru/post/poleznye-instrumenty/certbot-besplatnyj-ssl-sertifikat-dlya-sajta/)
22 Π‘Π΅Π½ΡΡΠ±ΡΡ 2023
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/certbot-besplatnyj-ssl-sertifikat-dlya-sajta/#comments)
- [ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΌΡ Π² Bootstrap5](https://pressanybutton.ru/post/poleznye-instrumenty/poleznye-instrumenty-pereklyuchatel-cvetovoj-temy/)
06 Π‘Π΅Π½ΡΡΠ±ΡΡ 2023
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/poleznye-instrumenty-pereklyuchatel-cvetovoj-temy/#comments)
- [ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. Jazzmin - ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠ°Π½Π΅Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Django](https://pressanybutton.ru/post/poleznye-instrumenty/poleznye-instrumenty-jazzmin-shablon-paneli-admini/)
06 Π‘Π΅Π½ΡΡΠ±ΡΡ 2023
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/poleznye-instrumenty-jazzmin-shablon-paneli-admini/#comments)
- [ΠΠ ΠΠΠ’Π£ΠΠΠ¬ΠΠ! ΠΠ΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Chat-GPT4 Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΠ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅](https://pressanybutton.ru/post/poleznye-instrumenty/besplatnyj-chat-gpt4-na-vashem-pk-ili-servere/)
02 ΠΠ²Π³ΡΡΡ 2023
[ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/besplatnyj-chat-gpt4-na-vashem-pk-ili-servere/#comments)
ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ.
### Π‘ΡΡΠ»ΠΊΠΈ
-  [ΠΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ](https://boosty.to/prodream)
-  [RSS-Π»Π΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
ΠΏΠΎΡΡΠΎΠ²](https://pressanybutton.ru/feeds/latest/)
-  [Telegram-ΠΊΠ°Π½Π°Π»](https://t.me/napkincode)
## ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
- [Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#chto-takoe-sborka-ispolnyaemogo-fajla-exe)
- [Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#chto-takoe-obfuskatsiya-koda)
- [Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΅?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#chto-budet-rassmatrivatsya-v-poste)
- [β οΈΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!β οΈ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#obratite-vnimanie)
- [Python Minifier + PyInstaller](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#python-minifier--pyinstaller)
- [ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Python Minifier](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#primenenie-python-minifier)
- [ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PyInstaller](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#primenenie-pyinstaller)
- [ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ PyInstaller:](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#osnovnyie-osobennosti-pyinstaller)
- [ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ PyInstaller?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#kak-rabotaet-pyinstaller)
- [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#ustanovka-i-primenenie)
- [Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#rezultat-vyipolneniya)
- [ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python Minifier + PyInstaller](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#itog-po-ispolzovaniyu-python-minifier--pyinstaller)
- [ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² Nuitka](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#kompiliruem-proekt-v-nuitka)
- [ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Nuitka:](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#osnovnyie-osobennosti-nuitka)
- [ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Nuitka:](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#protsess-rabotyi-nuitka)
- [ΠΠ°ΠΊ Nuitka ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ PyInstaller?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#kak-nuitka-otlichaetsya-ot-pyinstaller)
- [ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Minifier ΠΏΠ΅ΡΠ΅Π΄ Nuitka?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#nuzhno-li-ispolzovat-python-minifier-pered-nuitka)
- [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Nuitka](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#ustanovka-nuitka)
- [ΠΠ°ΠΏΡΡΠΊ ΡΠ±ΠΎΡΠΊΠΈ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#zapusk-sborki)
- [Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#rezultat-vyipolneniya)
- [ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Nuitka](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#itog-po-ispolzovaniyu-nuitka)
- [ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#zaklyuchenie)
- [Π§ΡΠΎ Π»ΡΡΡΠ΅ β PyInstaller ΠΈΠ»ΠΈ Nuitka?](https://pressanybutton.ru/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/#chto-luchshe---pyinstaller-ili-nuitka)
### ΠΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ
[ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅](https://pressanybutton.ru/)
ΠΠ°ΠΉΠ΄Ρ, ΡΡΠ°ΡΡΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
###### ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ
- [ΠΠ°ΠΉΠ΄Ρ](https://pressanybutton.ru/category/gajdy/)
- [Π‘Π²Π΅ΠΆΠΈΠ΅ ΡΡΠ°ΡΡΠΈ](https://pressanybutton.ru/#latest)
###### ΠΡΠ°Π²ΠΎΠ²Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- [ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
](https://pressanybutton.ru/privacy-policy/)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² ΡΠ°ΠΉΡΠ° pressanybutton.ru ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ c ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠΈΡ Π°Π²ΡΠΎΡΠΎΠ².
***
2023β2026 Β© Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»
[Telegram](https://t.me/press_any_button) [info@pressanybutton.ru](mailto:info@pressanybutton.ru)
β ΠΠ°Π²Π΅ΡΡ
ΠΡΠΎΡ ΡΠ°ΠΉΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ cookie Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠΏΡΡΠ°.
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ |
| Readable Markdown | Π Π°Π±ΠΎΡΠ°Ρ Π½Π° ΡΡΠΈΠ»Π°Π½ΡΠ΅, ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΈ ΠΎ ΡΠΎΡ
ΡΠ°Π½Π½ΠΎΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΄Π°. Π§ΡΠΎ Ρ ΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Ρ? ΠΠ°ΠΌ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΈΡΠΊΠΈ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, Π° ΡΠΎΡ ΠΏΡΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ ΠΎΠΏΠ»Π°ΡΠΈΠ²Π°Ρ Π΅Ρ. ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΡ ΡΡΠΈΠ»Π°Π½ΡΠ°, Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π°Ρ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ "Π΄Π΅ΠΌΠΎ Π²Π΅ΡΡΠΈΠΈ".
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠΏΠ»Π°ΡΡ:
1. **ΠΠ΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ.**
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± - Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΡΠ²ΠΎΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΡΡΠΈΡΡ Telegram-Π±ΠΎΡΠ° ΠΈΠ»ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ).
2. **Π‘Π±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)**
Π’Π°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
(ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ Ρ ΡΠ΅Π±Ρ, ΠΏΡΠΎΠΏΠΈΡΠ°Π² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΉ) ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
3. **Π‘Π±ΠΎΡΠΊΠ° exe-ΡΠ°ΠΉΠ»Π° Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π°**
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΡ: ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π₯ΠΎΡΡ ΠΎΠ½Π° Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π΅ΡΡΠ·Π²ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ (`reverse engeneering`).
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ½ΡΡΠ΅Π½ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ, ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π» [Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»](https://t.me/+gCWO9K8Dd642NTYy). Π’Π°ΠΌ Ρ Π΄Π΅Π»ΡΡΡ Π³Π°ΠΉΠ΄Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
## Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (exe)?
Π‘Π±ΠΎΡΠΊΠ° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ (`exe`) ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Python-ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ°ΠΉΠ»/ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python.
ΠΠ½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ±ΠΎΡΠΊΠΈ:
1. **ΠΠ°ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ PyInstaller** β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ½ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ, ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
[Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://pyinstaller.org/en/stable/).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ `exe`\-ΡΠ°ΠΉΠ»Π°:
```
pyinstaller --onefile script.py
```
1. **ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Nuitka** β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Python Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ), ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python. Nuitka ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ° Python.
[Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://nuitka.net/).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Nuitka:
```
nuitka --standalone script.py
```
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΡΡΠ°ΠΌΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠ°ΡΡΠ΅.
## Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°?
**ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°** β ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΏΡΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (`reverse engeneering`).
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ Π½Π΅ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡ ΡΠ΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠ½Π³Π°. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π»ΡΠ΄ΡΠΌΠΈ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π·Π°ΡΠΈΡΠ°.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π²Π΅ΡΡΠΌΠ° ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΠ½ΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Π²ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
:
1. **PyArmor** β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Python ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΡΠ΅ΠΌ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
[Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://github.com/dashingsoft/pyarmor).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PyArmor:
```
pyarmor pack script.py
```
1. **Nuitka** β Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ Nuitka ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Python, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°. ΠΠ½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.
[Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://nuitka.net/).
2. **Python Minifier** β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Python ΠΊΠΎΠ΄Π°. ΠΠ½ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ, ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ.
[Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://github.com/dflook/python-minifier).
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python Minifier:
```
pyminify example.py --output example.min.py
```
## Π§ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΅?
ΠΠ°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π΄Π²ΡΡ
:
1. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ `Python Minifier`, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΠ°ΠΊΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ `PyInstaller`.
2. Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ `Nuitka`.
ΠΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΡ Π±ΡΠ΄ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΈ Π²ΡΠ±ΠΎΡ Π±ΡΠ΄Π΅Ρ Π·Π° Π²Π°ΠΌΠΈ.
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΏΡΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ `MPF Tools Converter`, ΠΊΠΎΡΠΎΡΡΡ Ρ Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΈΡΡΠ΅Π»Ρ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ (Π½Π°ΠΏΠΈΡΠ°Π» Π½Π΅ Π»ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ ΠΎΠ± ΡΡΠΎΠΌ). ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ: [ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° GitHub](https://github.com/proDreams/mpf_tools_converter).
ΠΡΠΈΡΡΡΠΏΠΈΠΌ\!
### β οΈΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!β οΈ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ! Π’ΠΎ Π΅ΡΡΡ: Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ±ΠΎΡΠΊΡ Π½Π° Linux, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Linux, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π·Π°ΠΏΡΡΡΠΈΠ² ΡΠ±ΠΎΡΠΊΡ Π½Π° Windows, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Windows.
Π Π°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ· Linux Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Windows, Π½Π΅ ΠΏΡΠΈΠ±Π΅Π³Π°Ρ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Ρ Π½Π΅ Π½Π°ΡΡΠ». ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΏΠΎΡΠΎΠ±, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
\!
## Python Minifier + PyInstaller
Π‘ `Python Minifier` Π²ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ Π±Π»ΠΎΠΊΡ: ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ β ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠΊΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π° ΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ², ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈ Π΄ΡΡΠ³ΠΈΡ
Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΈΡ
ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ.
### ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Python Minifier
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pip install python-minifier
```
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ "ΠΏΠΎΠ»Π½ΡΠΉ Π½Π°Π±ΠΎΡ" ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ-ΡΠΎ Π½Π΅ Π½ΡΠΆΠ½ΠΎ, ΡΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°: <https://dflook.github.io/python-minifier/command_usage.html>
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· `main.py-ΡΠ°ΠΉΠ»Π°` ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° `app` Ρ Π΅ΡΡ Π΄Π²ΡΠΌΡ `.py-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ`. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡ
Π½ΡΠΆΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
```
pyminify main.py app/ --in-place
```
ΠΠΎΡ ΡΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄Π΅Π» `main.py` Π΄ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ:

Π Π²ΠΎΡ ΡΠ°ΠΊ ΠΏΠΎΡΠ»Π΅:

ΠΡΡΠ³ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ:


ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΡΠΌ, Ρ.ΠΊ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Flet ΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΊΠΎΠ΄Π΅ ΠΊΠ°ΡΡΠΈΠ½Π° Π±ΡΠ΄Π΅Ρ Π»ΡΡΡΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ°Π·Π±ΠΎΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΉΠΌΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΈΠ».
ΠΠΎΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:

### ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PyInstaller
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ `PyInstaller` ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅.
#### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ PyInstaller:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ (Windows, macOS, Linux).
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GUI.
#### ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ PyInstaller?
PyInstaller Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Python, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΡ
Π² ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½:
- ΠΎΠ΄Π½ΠΈΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ (ΡΠ΅ΠΆΠΈΠΌ `onefile`).
- ΠΏΠ°ΠΏΠΊΠΎΠΉ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ (ΡΠ΅ΠΆΠΈΠΌ `onedir`).
PyInstaller ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python, Π΄ΠΎΠ±Π°Π²Π»ΡΡ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ Python-ΡΠΊΡΠΈΠΏΡ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
#### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pip install -U pyinstaller
```
Π£ PyInstaller ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° "ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ". ΠΠΎΠ»Π½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: <https://pyinstaller.org/en/stable/usage.html>
Π ΠΌΠΎΡΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
```
pyinstaller --noconfirm --onefile --noconsole \
--name 'MPF Converting Tool' --icon './favicon.ico' \
--add-data './app:app/' \
'main.py'
```
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- `--noconfirm` - ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ. PyInstaller Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
- `--onefile` - ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠ°ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡΠ΄ΠΎΠΌ.
- `--noconsole` - Π£Π±ΠΈΡΠ°Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ Π½ΡΠΆΠ½Π°.
- `--name 'MPF Converting Tool'` - ΠΠ°Π΄Π°ΡΡ ΠΈΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ `MPF Converting Tool.exe` (Π½Π° Windows) ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ `MPF Converting Tool` (Π½Π° Linux/MacOS).
- `--icon './favicon.ico'` - Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ `favicon.ico`.
- `--add-data './app:app/'` - ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ±ΠΎΡΠΊΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΠΏΠΊΠ° `./app` Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ `app/`. Π€ΠΎΡΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΠΈ: `source:destination`.
- `'main.py'` - ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠΉ PyInstaller Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
#### Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π°ΡΠ½ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π²ΡΡ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π·Π°ΠΏΠΈΡΡ "27927 INFO: Building EXE from EXE-00.toc completed successfully.".
Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ» Π²ΡΠ·Π²Π°Π½ PyInstaller ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄Π²Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ: `build` ΠΈ `dist`.

Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ `build` ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ, Π° Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ `dist` ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠΊΡΠΎΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ `dist` Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅. Π’Π°ΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».

ΠΠ°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:

Π― ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ, ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΈΡ
ΡΡΠ΄ΠΎΠΌ:

Π Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΠ½ΠΎΠ²Π°:

Π‘Π»Π΅ΡΠ΅Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°Π½Π½ΠΎ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π½Π° Linux. Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΏΡΡΡΠΈΠ»Π°ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
### ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Python Minifier + PyInstaller
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡ ΠΈ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ.
Python Minifier Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ - ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΡΠΌΠ΅ΡΡ Π΅ΡΡ ΡΠ°Π·, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ ΠΈ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡ ΠΆΠ΅ PyArmor, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡ ΠΈ ΡΠΈΡΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ ΠΎΠ½ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ΅Π½ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ Π·Π°Π΄Π°Ρ Π΄Π»Ρ ΡΡΠΈΠ»Π°Π½ΡΠ°, ΡΡΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠΌ.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ PyInstaller, ΡΠΎ ΡΡΠΎ ΠΆΠΈΠ²Π°Ρ ΠΊΠ»Π°ΡΡΠΈΠΊΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°: ΠΏΠΎΡΡΠΈ 40 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ! Π ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ ΡΡΠΈ `.py-ΡΠ°ΠΉΠ»Π°` + Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΡΡ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python.
## ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² Nuitka
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ **Nuitka** ΠΈ ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ **PyInstaller** ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Ρ **Python Minifier**.
### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Nuitka:
- ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° Python ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ.
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
### ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Nuitka:
1. ΠΠ½Π°Π»ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ.
2. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π°Π»ΠΈΡΠΈΡ Python.
### ΠΠ°ΠΊ Nuitka ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ PyInstaller?
| **Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°** | **PyInstaller** | **Nuitka** |
|---|---|---|
| **Π’ΠΈΠΏ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ** | Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ | ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Python-ΠΊΠΎΠ΄ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ΅ΡΠ΅Π· C |
| **Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°** | ΠΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ | ΠΠ΅Π½ΡΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ |
| **ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ** | ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° | ΠΡΡΠ΅ Π·Π° ΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° |
| **Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ** | ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Python | ΠΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ C API |
| **Π¦Π΅Π»Ρ** | ΠΡΡΡΡΠ°Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ | Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ |
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, `Nuitka` ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΏΠ΅ΡΠ΅Π΄ `PyInstaller`, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
### ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Python Minifier ΠΏΠ΅ΡΠ΅Π΄ Nuitka?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Ρ `PyInstaller`, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ `Nuitka` ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. Π‘Π°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΆΠ΅ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π·Π°ΡΠΈΡΡ, `Nuitka` ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ:
- **ΠΠ΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ** Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
- **ΠΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ** (Commercial Edition) Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ
Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΏΡΡΠΌΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Nuitka
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pip install -U nuitka
```
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ, Nuitka ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ C-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
- **ΠΠ»Ρ Windows:**
- [Visual Studio 2022](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx) ΠΈΠ»ΠΈ Π²ΡΡΠ΅. **ΠΠ΅ ΠΏΡΡΠ°ΡΡ Ρ VisualStudio Code / VSCode\!** ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΠ½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ Π² Visual Studio, ΡΡΠΎΠ±Ρ Nuitka ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π΅Π΅ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π»Π° Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
- ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ `MinGW64`. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ `--mingw64`. `Nuitka` ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡ Visual Studio.
- ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Visual Studio ΠΈ MinGW64.
- **ΠΠ»Ρ Lunux:** ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ `GCC-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ` ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ `clang`.
- **ΠΠ»Ρ macOS:** ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Clang. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ `XCode` ΠΈΠ· `Apple Store`.
### ΠΠ°ΠΏΡΡΠΊ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
nuitka --standalone --onefile --output-filename="MPF Converting Tool" \
--windows-disable-console --windows-icon-from-ico=./favicon.ico \
main.py
```
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
1. `--standalone` - Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°Ρ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
2. `--onefile` - Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ».
3. `--output-filename="MPF Converting Tool"` - Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠΌΡ Π²ΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. (ΠΠ»Ρ **Windows** Π² ΠΊΠΎΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ `.exe`!)
4. `--windows-disable-console` - ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
5. `--windows-icon-from-ico=./favicon.ico` - ΠΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΈΠΊΠΎΠ½ΠΊΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
6. `main.py` - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΠΊΡ Π²Ρ
ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ΅ΠΊΡ.
### Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΎΡΠΎΠΏΠ»ΠΈΠ²ΡΠΌ ΠΈ Π·Π°Π½ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ: `main.build`, `main.dist` ΠΈ `main.onefile-build`, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»:

Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ:

### ΠΡΠΎΠ³ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Nuitka
ΠΡΠΈ Π±Π΅Π³Π»ΠΎΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π΅, `Nuitka` ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² ΡΠ΅Π±Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ "ΡΠ°Π·Π±ΠΎΡΠ°" ΡΠ°ΠΉΠ»Π° Π½Π° ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 31 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° `PyInstaller` Π½Π° 10 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π²ΡΠ΄Π°ΡΡΠΈΠΌΡΡ ΡΡΠΏΠ΅Ρ
ΠΎΠΌ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
## ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΡΡΠ° ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
### Π§ΡΠΎ Π»ΡΡΡΠ΅ β PyInstaller ΠΈΠ»ΠΈ Nuitka?
- ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ β Π±ΡΡΡΡΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΡ, **PyInstaller** ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π»ΡΡΡΠ΅: ΠΎΠ½ ΠΏΡΠΎΡΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
- ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΡ ΡΠ°Π·Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ **Nuitka**.
ΠΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅, Π½Π΅ ΠΏΡΠΈΠ·ΡΠ² ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π° Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΡΠΈΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΡΠ΄Π°. Π‘ΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΊΡΠ΄Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ. ΠΡΠ±ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ, ΠΎΡΡΠ°ΡΡΡΡ Π·Π° Π²Π°ΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Telegram-ΠΊΠ°Π½Π°Π» [Β«ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅Β»](https://t.me/+gCWO9K8Dd642NTYy). Π’Π°ΠΌ Ρ Π΄Π΅Π»ΡΡΡ Π³Π°ΠΉΠ΄Π°ΠΌΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². |
| Shard | 75 (laksa) |
| Root Hash | 3052112393321575475 |
| Unparsed URL | ru,pressanybutton!/post/poleznye-instrumenty/python-proektav-exe-fajl-i-obfuskaciya-koda/ s443 |