βΉοΈ 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://sky.pro/wiki/python/kak-kompilirovat-python-3/ |
| Last Crawled | 2026-04-05 14:10:55 (1 day ago) |
| First Indexed | 2024-06-04 16:43:52 (1 year ago) |
| HTTP Status Code | 200 |
| Meta Title | ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΠΌ Python-ΠΊΠΎΠ΄ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ |
| Meta Description | ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ: ΡΠ°Π³ΠΈ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. |
| Meta Canonical | null |
| Boilerpipe Text | #Π Π°Π·Π½ΠΎΠ΅Β Β
ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΡ, ΡΠ·Π½Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡΠ΅
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ Π»Π΅Ρ
0%
ΠΠΎ 18
ΠΡ 18 Π΄ΠΎ 24
ΠΡ 25 Π΄ΠΎ 34
ΠΡ 35 Π΄ΠΎ 44
ΠΡ 45 Π΄ΠΎ 49
ΠΡ 50 Π΄ΠΎ 54
ΠΠΎΠ»ΡΡΠ΅ 55
ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ:
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π° Python, ΠΈΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠ΄ΠΈ, Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ
Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°
ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ IT, ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python 3, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΈΠ»ΠΈ Π΄ΡΡΠ·ΡΡΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅Π»ΠΎΠ²ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: "Π Π³Π΄Π΅ ΡΠΊΠ°ΡΠ°ΡΡ Python? ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ .exe ΡΠ°ΠΉΠ»?" ΠΠ½Π°ΠΊΠΎΠΌΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? π€ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π΄Π°ΠΆΠ΅ Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π²Π°Ρ .py ΡΠ°ΠΉΠ» Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΠ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΎΡ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ
Π³Π»Π°Π·.
Π₯ΠΎΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅? ΠΡΡΡ
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅
ΠΎΡ Skypro ΠΏΠΎΠ³ΡΡΠΆΠ°Π΅Ρ Π²Π°Ρ Π² ΠΌΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ
ΡΠ΅Ρ
Π½ΠΈΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΡΠ΄ΠΈ Π±Π΅Π· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3: ΠΌΠΈΡΡ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3, ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ β Python ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ Python Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π·Π° ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, Π° Π½Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² C++ ΠΈΠ»ΠΈ Java. π
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· Python-ΠΊΠΎΠ΄Π°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ² ΠΊ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python:
ΠΠ°ΠΉΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
: Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (.pyc ΡΠ°ΠΉΠ»Ρ), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Python (PVM). ΠΡΠΎ Π½Π΅ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° (packaging)
: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ PyInstaller ΠΈΠ»ΠΈ py2exe "ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ" Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Π’ΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄
: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ Cython ΠΈΠ»ΠΈ Nuitka ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ Python-ΠΊΠΎΠ΄ Π² C/C++, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΡΠΎΠ², ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ
Π― Π΄ΠΎΠ»Π³ΠΎ ΡΡΠΈΡΠ°Π», ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python β ΡΡΠΎ ΠΌΠΈΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π°ΡΡΠ°ΠΈΠ²Π°Π» Π½Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ β PyInstaller ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ» Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠΈΠ½ΡΡΡ. ΠΠ°, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ» Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ (ΠΎΠΊΠΎΠ»ΠΎ 60 ΠΠ), Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΡΠ°Π»ΡΡ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΎΠ²Π°Π»ΠΎ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΡ Π½ΠΈ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ. ΠΠ»Π°Π²Π½ΡΠΉ ΡΡΠΎΠΊ β Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° C++ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python:
ΠΠΈΡ
Π Π΅Π°Π»ΡΠ½ΠΎΡΡΡ
Python Π½Π΅Π»ΡΠ·Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΈ ΠΊΠΎΠ΄
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡΡΠΎ, ΠΊΠ°ΠΊ C++
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python Π½Π΅ Π΄Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌ
Π€Π°ΠΉΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Windows, macOS, Linux) Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ
ΠΡΡΠΈΠ½Π½Π°Ρ ΡΠ΅Π»Ρ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ (Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ) Π·Π°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Python 3
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΠΊΠΎΠ΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3. βοΈ
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
PyInstaller
Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ»
ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°, Π½Π΅ Π΄Π°Π΅Ρ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΈΠ·ΠΊΠ°Ρ
Nuitka
Π’ΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ Python Π² C++, Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄
ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π»ΡΡΡΠ°Ρ Π·Π°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, Π½Π΅ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ
Π‘ΡΠ΅Π΄Π½ΡΡ
Cython
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π² C ΠΊΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΡΠΎΠΊΠ°Ρ
py2exe
Π‘ΠΎΠ·Π΄Π°Π΅Ρ exe-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Windows
ΠΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΊΡΡ Π½Π° Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows, ΡΡΡΠ°ΡΠ΅Π²Π°Π΅Ρ
ΠΠΈΠ·ΠΊΠ°Ρ
cx_Freeze
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ
ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
Π’ΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘ΡΠ΅Π΄Π½ΡΡ
PyInstaller
β ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°": Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²:
Nuitka
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡ Python-ΠΊΠΎΠ΄ Π² C++, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎ-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
Cython
β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Python Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² C. ΠΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
ΠΠΌΠΈΡΡΠΈΠΉ Π‘ΠΎΠΊΠΎΠ»ΠΎΠ², DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ
ΠΠΎΠ³Π΄Π° Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ
Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ PyInstaller. ΠΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: Π°Π½ΡΠΈΠ²ΠΈΡΡΡΡ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°Π»ΠΈ Π½Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠΎΡΠ»Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Nuitka Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ) ΠΈ PyInstaller Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, Π½ΠΎ ΡΡΡΡΠ°Π½ΠΈΠ»ΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. Π‘ ΡΠ΅Ρ
ΠΏΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ°Π» Π½Π°ΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ:
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
: ΠΠ»Ρ ΠΏΡΠΎΡΡΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ PyInstaller, Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Nuitka ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
: ΠΡΠ»ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Cython ΠΈΠ»ΠΈ Nuitka.
Π¦Π΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°
: ΠΠ»Ρ Windows-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ py2exe ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅; Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
β PyInstaller ΠΈΠ»ΠΈ cx_Freeze.
ΠΠ°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π°
: Nuitka ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ΅ΠΌ PyInstaller.
ΠΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅
: PyInstaller ΠΈ py2exe ΡΡΠ΅Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python β ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π·Π°ΡΠΈΡΠΎΠΉ ΠΊΠΎΠ΄Π°. π§
PyInstaller: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
PyInstaller β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Windows, macOS ΠΈ Linux. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller. π¦
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyInstaller ΡΠ΅ΡΠ΅Π· pip:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ Python, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ:
Π¨Π°Π³ 2: ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ "dist", Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π° Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΠΠ»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π³ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³
--onefile
:
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
Π¨Π°Π³ 4: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
PyInstaller ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
--name
: Π·Π°Π΄Π°Π΅Ρ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
--icon
: Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΎΠΊ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows ΠΈ macOS):
--noconsole
(ΠΈΠ»ΠΈ
--windowed
): ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ (Π΄Π»Ρ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ):
--add-data
: Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Π¨Π°Π³ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ spec-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²
ΠΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ spec-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ:
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» MyApp.spec, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ spec-ΡΠ°ΠΉΠ»Π°:
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ spec-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΡΡΡΡ
ΠΈΠΌΠΏΠΎΡΡΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²:
Π¨Π°Π³ 6: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° "ΡΠΈΡΡΠΎΠΉ" ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Python ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
Π¨Π°Π³ 7: Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ
ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ
: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--hidden-import
Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ PyInstaller Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ:
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ
: ΠΠ½ΡΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ°Ρ
: ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π·Π°ΠΏΡΡΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ
--onefile
. π
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈ Π·Π°ΡΠΈΡΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Python-ΠΊΠΎΠ΄Π°
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π²ΡΡΠ°ΡΡ Π΄Π²Π΅ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ: ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠΈΡΠ° ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
Π·Π°Π΄Π°Ρ. π‘οΈ
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--exclude-module
Π² PyInstaller Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ UPX Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ
: UPX β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ:
ΠΡΠΈΡΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
: ΠΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ
: ΠΠΏΡΠΈΡ
--onedir
Π² PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ
--onefile
, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ
: Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ-ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Nuitka, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΈΡ
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°
: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Python ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΠ°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Python-ΠΊΠΎΠ΄ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ:
ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ PyArmor
: ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΡ Python-ΡΠΊΡΠΈΠΏΡΠΎΠ²:
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ
: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ pyminifier ΠΌΠΎΠ³ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ:
ΠΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ
--standalone
: Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄:
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² C-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Cython Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠΎΠ±ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
ΠΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ
: ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ
: ΠΡΡΡΠΎΠΉΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π·Π°ΠΏΡΡΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
ΠΠ°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ
ΠΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Python-ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ:
ΠΡΠΏΠ΅ΠΊΡ
ΠΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°ΡΠΈΡΡ
ΠΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ
Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°
UPX ΡΠΆΠ°ΡΠΈΠ΅, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΈ Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ
Π‘ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°
--onedir
Π²ΠΌΠ΅ΡΡΠΎ
--onefile
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ
ΠΠ°ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π·Π°ΠΏΡΡΠΊ
Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
Cython, Nuitka Π΄Π»Ρ Π³ΠΎΡΡΡΠΈΡ
ΡΡΠ°ΡΡΠΊΠΎΠ²
ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ
ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
ΠΠ°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π°
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
PyArmor, Nuitka, C-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
ΠΠΎΠ»Π΅Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ
Π¨ΠΈΡΠΎΠΊΠ°Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ PyInstaller
ΠΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΠ΅
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅Ρ
ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ:
ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka ΠΈΠ»ΠΈ Cython Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ PyInstaller.
ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ β ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΈΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π½Π°ΡΡΡΠΈΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΡΡ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π»ΡΠ³ΠΊΡΡ ΡΠ΅Π»Ρ. π
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3 ΠΈ ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠ΄ΠΎΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ
ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ. π οΈ
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 1: ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΡΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ β PyInstaller ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΊΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
Π―Π²Π½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΊΡΡΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
--hidden-import
:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Ρ
ΡΠΊ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (Ρ
ΡΠΊΠΈ β ΡΡΠΎ Python-ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ PyInstaller ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ):
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ
--debug
Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 2: ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ)
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
Π―Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ· ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 3: ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ°Π·Π½ΡΡ
Π»ΠΎΠΊΠ°Π»ΡΡ
ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ
.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
Π―Π²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 4: ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ PyInstaller ΡΠ°ΠΉΠ»Ρ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΈΠ·-Π·Π° ΠΈΡ
ΡΡΡΡΠΊΡΡΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΠΈΡΡΠΎΠ²ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΅Π½Π΄Π°.
Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Nuitka, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ "ΠΎΠ±ΡΡΠ½ΡΠ΅" ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 5: ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Python ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ UPX Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ):
ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ:
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 6: ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΊΠ°ΠΆΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ (Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ):
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 7: ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌ API.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
Π―Π²Π½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
ΠΠ»Ρ ODBC ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ DLL Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
Π‘Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°
Π‘ΠΈΠΌΠΏΡΠΎΠΌΡ
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
ImportError ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅
Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
--hidden-import
, Ρ
ΡΠΊΠΈ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ
FileNotFoundError
ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ,
--add-data
sys._MEIPASS
,
resource_path()
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ
UnicodeDecodeError
Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ
encoding='utf-8'
ΠΠ½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ°ΡΠ°Π½ΡΠΈΠ½ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ
Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ
signtool
, Nuitka
ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°
> 50MB Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠΆΠ°ΡΠΈΠ΅
UPX,
--exclude-module
ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ
Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΠ‘, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ
ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
Docker, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ
ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΠ
ΠΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², DLL
--hidden-import
,
--add-binary
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, ΠΏΠΎΡΡΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. π
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΠΊΠΎΠ΄Π° β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ²ΠΎΠΈΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ PyInstaller, Nuitka ΠΈΠ»ΠΈ Cython, Π²Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°Π΅ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π±Π°ΡΡΠ΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±Π΅Π· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π²ΠΈΠ·ΠΈΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ°Ρ Π·Π°Π±ΠΎΡΡ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΎΠΏΡΡΠ΅ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ°Π»ΡΠΌ.
Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ |
| Markdown | [](https://sky.pro/wiki/)
ΠΡΠ΅ ΠΊΡΡΡΡ
[ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅](https://sky.pro/courses/programming?utm_source=skypro_wiki)[ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ°](https://sky.pro/courses/analytics?utm_source=skypro_wiki)[ΠΠΈΠ·Π°ΠΉΠ½](https://sky.pro/courses/design?utm_source=skypro_wiki)[ΠΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³](https://sky.pro/courses/marketing?utm_source=skypro_wiki)
[ΠΠ΅Π±ΠΈΠ½Π°ΡΡ](https://sky.pro/webinars?utm_source=skypro_wiki)[Π Π°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² IT](https://sky.pro/promo/media/main-proftest?utm_source=skypro_wiki&utm_medium=how-it)[Π Π΅ΡΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°](https://sky.pro/referral_graduate?utm_source=skypro_wiki)[ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ Π² Skypro](https://sky.pro/?utm_source=skypro_wiki&utm_medium=free)

[Java](https://sky.pro/wiki/java/)
[Python](https://sky.pro/wiki/python/)
[HTML](https://sky.pro/wiki/html/)
[SQL](https://sky.pro/wiki/sql/)
[JavaScript](https://sky.pro/wiki/javascript/)
[Profession](https://sky.pro/wiki/profession/)
[Gadgets](https://sky.pro/wiki/gadgets/)
[Money](https://sky.pro/wiki/money/)
[Gamedev](https://sky.pro/wiki/gamedev/)
[Marketing](https://sky.pro/wiki/marketing/)
[Management](https://sky.pro/wiki/management/)
[DigitalArt](https://sky.pro/wiki/digital-art/)
[Analytics](https://sky.pro/wiki/analytics/)
[Lifestyle](https://sky.pro/wiki/lifestyle/)
[Media](https://sky.pro/wiki/media/)
[AI](https://sky.pro/wiki/ai/)
[ΠΠ»Π°Π²Π½Π°Ρ](https://sky.pro/)

[Wiki](https://sky.pro/wiki/)

[Python](https://sky.pro/wiki/python/)

ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΠΌ Python-ΠΊΠΎΠ΄ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
[ΠΠ΅ΡΠ΅ΠΉΡΠΈ](https://sky.pro/courses/ai/minicourses_ai?utm_source=skypro_wiki&utm_campaign=https%3A%2F%2Fsky.pro%2Fwiki%2Fpython%2Fkak-kompilirovat-python-3%2F&utm_medium=top_banner_null)
# ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΠΌ Python-ΠΊΠΎΠ΄ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
[\#Π Π°Π·Π½ΠΎΠ΅](https://sky.pro/wiki/tags/raznoe/)
ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΡ, ΡΠ·Π½Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡΠ΅
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ Π»Π΅Ρ
0%
ΠΠΎ 18
ΠΡ 18 Π΄ΠΎ 24
ΠΡ 25 Π΄ΠΎ 34
ΠΡ 35 Π΄ΠΎ 44
ΠΡ 45 Π΄ΠΎ 49
ΠΡ 50 Π΄ΠΎ 54
ΠΠΎΠ»ΡΡΠ΅ 55
**ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ:**
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π° Python, ΠΈΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- ΠΡΠ΄ΠΈ, Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ
Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°
- ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ IT, ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python 3, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΈΠ»ΠΈ Π΄ΡΡΠ·ΡΡΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅Π»ΠΎΠ²ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: "Π Π³Π΄Π΅ ΡΠΊΠ°ΡΠ°ΡΡ Python? ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ .exe ΡΠ°ΠΉΠ»?" ΠΠ½Π°ΠΊΠΎΠΌΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? π€ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π΄Π°ΠΆΠ΅ Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π²Π°Ρ .py ΡΠ°ΠΉΠ» Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΠ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΎΡ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ
Π³Π»Π°Π·.
> Π₯ΠΎΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅? ΠΡΡΡ [ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅](https://sky.pro/courses/programming/python-web-course) ΠΎΡ Skypro ΠΏΠΎΠ³ΡΡΠΆΠ°Π΅Ρ Π²Π°Ρ Π² ΠΌΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ
ΡΠ΅Ρ
Π½ΠΈΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΡΠ΄ΠΈ Π±Π΅Π· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ.
## ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3: ΠΌΠΈΡΡ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3, ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ β Python ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ Python Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π·Π° ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, Π° Π½Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² C++ ΠΈΠ»ΠΈ Java. π
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· Python-ΠΊΠΎΠ΄Π°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ² ΠΊ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python:
- **ΠΠ°ΠΉΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ**: Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (.pyc ΡΠ°ΠΉΠ»Ρ), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Python (PVM). ΠΡΠΎ Π½Π΅ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
- **Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° (packaging)**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ PyInstaller ΠΈΠ»ΠΈ py2exe "ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ" Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
- **Π’ΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ Cython ΠΈΠ»ΠΈ Nuitka ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ Python-ΠΊΠΎΠ΄ Π² C/C++, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
> **ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΡΠΎΠ², ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ** Π― Π΄ΠΎΠ»Π³ΠΎ ΡΡΠΈΡΠ°Π», ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python β ΡΡΠΎ ΠΌΠΈΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π°ΡΡΠ°ΠΈΠ²Π°Π» Π½Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ β PyInstaller ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ» Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠΈΠ½ΡΡΡ. ΠΠ°, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ» Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ (ΠΎΠΊΠΎΠ»ΠΎ 60 ΠΠ), Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΡΠ°Π»ΡΡ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΎΠ²Π°Π»ΠΎ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΡ Π½ΠΈ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ. ΠΠ»Π°Π²Π½ΡΠΉ ΡΡΠΎΠΊ β Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° C++ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python:
| **ΠΠΈΡ** | **Π Π΅Π°Π»ΡΠ½ΠΎΡΡΡ** |
|---|---|
| Python Π½Π΅Π»ΡΠ·Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ | ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΈ ΠΊΠΎΠ΄ |
| Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡΡΠΎ, ΠΊΠ°ΠΊ C++ | ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python Π½Π΅ Π΄Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ |
| ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ | ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ |
| ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌ | Π€Π°ΠΉΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ |
| ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
| ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Windows, macOS, Linux) Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ |
ΠΡΡΠΈΠ½Π½Π°Ρ ΡΠ΅Π»Ρ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ (Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ) Π·Π°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
[](https://sky.pro/promo/media/main-proftest?utm_source=skypro_wiki&utm_medium=side_banner&utm_campaign=https://sky.pro/wiki/)
## ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Python 3
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΠΊΠΎΠ΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3. βοΈ
| **ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ** | **ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ** | **ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°** | **ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ** | **Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ** |
|---|---|---|---|---|
| PyInstaller | Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» | ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ | ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°, Π½Π΅ Π΄Π°Π΅Ρ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ | ΠΠΈΠ·ΠΊΠ°Ρ |
| Nuitka | Π’ΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ Python Π² C++, Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ | ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π»ΡΡΡΠ°Ρ Π·Π°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° | Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, Π½Π΅ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ | Π‘ΡΠ΅Π΄Π½ΡΡ |
| Cython | ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π² C ΠΊΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ | Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ | Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ | ΠΡΡΠΎΠΊΠ°Ρ |
| py2exe | Π‘ΠΎΠ·Π΄Π°Π΅Ρ exe-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Windows | ΠΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΊΡΡ Π½Π° Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
| Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows, ΡΡΡΠ°ΡΠ΅Π²Π°Π΅Ρ | ΠΠΈΠ·ΠΊΠ°Ρ |
| cx\_Freeze | Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ | ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° | Π’ΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ | Π‘ΡΠ΅Π΄Π½ΡΡ |
**PyInstaller** β ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°": Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²:
```
pip install pyinstaller
pyinstaller --onefile your_script.py
```
**Nuitka** ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡ Python-ΠΊΠΎΠ΄ Π² C++, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎ-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
```
pip install nuitka
python -m nuitka --follow-imports your_script.py
```
**Cython** β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Python Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² C. ΠΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
```
pip install cython
cythonize -i your_module.py
```
> **ΠΠΌΠΈΡΡΠΈΠΉ Π‘ΠΎΠΊΠΎΠ»ΠΎΠ², DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ** ΠΠΎΠ³Π΄Π° Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ
Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ PyInstaller. ΠΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: Π°Π½ΡΠΈΠ²ΠΈΡΡΡΡ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°Π»ΠΈ Π½Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠΎΡΠ»Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Nuitka Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ) ΠΈ PyInstaller Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, Π½ΠΎ ΡΡΡΡΠ°Π½ΠΈΠ»ΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. Π‘ ΡΠ΅Ρ
ΠΏΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ°Π» Π½Π°ΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ:
- **Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°**: ΠΠ»Ρ ΠΏΡΠΎΡΡΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ PyInstaller, Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Nuitka ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄.
- **Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ**: ΠΡΠ»ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Cython ΠΈΠ»ΠΈ Nuitka.
- **Π¦Π΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°**: ΠΠ»Ρ Windows-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ py2exe ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅; Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
β PyInstaller ΠΈΠ»ΠΈ cx\_Freeze.
- **ΠΠ°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π°**: Nuitka ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ΅ΠΌ PyInstaller.
- **ΠΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅**: PyInstaller ΠΈ py2exe ΡΡΠ΅Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python β ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π·Π°ΡΠΈΡΠΎΠΉ ΠΊΠΎΠ΄Π°. π§
## PyInstaller: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
PyInstaller β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Windows, macOS ΠΈ Linux. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller. π¦
**Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller**
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyInstaller ΡΠ΅ΡΠ΅Π· pip:
```
pip install pyinstaller
```
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ Python, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ:
```
python -m venv myenv
source myenv/bin/activate # Π΄Π»Ρ Linux/macOS
myenv\Scripts\activate # Π΄Π»Ρ Windows
pip install -r requirements.txt # ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
pip install pyinstaller
```
**Π¨Π°Π³ 2: ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ**
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
```
pyinstaller your_script.py
```
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ "dist", Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π° Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
**Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°**
ΠΠ»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π³ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ `--onefile`:
```
pyinstaller --onefile your_script.py
```
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
**Π¨Π°Π³ 4: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ**
PyInstaller ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
- **\--name**: Π·Π°Π΄Π°Π΅Ρ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
```
pyinstaller --name=MyApp --onefile your_script.py
```
- **\--icon**: Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΎΠΊ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows ΠΈ macOS):
```
pyinstaller --icon=path/to/icon.ico --onefile your_script.py
```
- **\--noconsole** (ΠΈΠ»ΠΈ `--windowed`): ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ (Π΄Π»Ρ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ):
```
pyinstaller --noconsole --onefile your_script.py
```
- **\--add-data**: Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
```
pyinstaller --add-data "path/to/data:data" --onefile your_script.py # Linux/macOS
pyinstaller --add-data "path/to/data;data" --onefile your_script.py # Windows
```
**Π¨Π°Π³ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ spec-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²**
ΠΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ spec-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ:
```
pyinstaller --name=MyApp your_script.py
```
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» MyApp.spec, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ spec-ΡΠ°ΠΉΠ»Π°:
```
pyinstaller MyApp.spec
```
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ spec-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΡΡΡΡ
ΠΈΠΌΠΏΠΎΡΡΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['your_script.py'],
pathex=['/path/to/your/project'],
binaries=[],
datas=[('path/to/data', 'data')],
hiddenimports=['ΠΌΠΎΠ΄ΡΠ»Ρ_ΠΊΠΎΡΠΎΡΡΠΉ_Π½Π΅_Π±ΡΠ»_ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½_Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='MyApp',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
icon='path/to/icon.ico')
```
**Π¨Π°Π³ 6: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅**
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° "ΡΠΈΡΡΠΎΠΉ" ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Python ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
**Π¨Π°Π³ 7: Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ**
- **ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `--hidden-import` Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ PyInstaller Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ:
```
pyinstaller --hidden-import=numpy --onefile your_script.py
```
- **ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ**: ΠΠ½ΡΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
import sys
import os
# ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π·Π°ΠΏΡΡΠ΅Π½Ρ Π»ΠΈ ΠΌΡ ΠΈΠ· PyInstaller
if getattr(sys, 'frozen', False):
# ΠΡΡΡ ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ PyInstaller
application_path = sys._MEIPASS
else:
# ΠΡΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
application_path = os.path.dirname(os.path.abspath(__file__))
# Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ application_path Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ
data_file = os.path.join(application_path, 'data', 'config.json')
```
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ°Ρ
: ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π·Π°ΠΏΡΡΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ `--onefile`. π
## ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈ Π·Π°ΡΠΈΡΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Python-ΠΊΠΎΠ΄Π°
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π²ΡΡΠ°ΡΡ Π΄Π²Π΅ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ: ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠΈΡΠ° ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
Π·Π°Π΄Π°Ρ. π‘οΈ
**ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°**
1. **Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°**
- **ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `--exclude-module` Π² PyInstaller Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ:
```
pyinstaller --exclude-module matplotlib --onefile your_script.py
```
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ UPX Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ**: UPX β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ:
```
pyinstaller --upx-dir=/path/to/upx --onefile your_script.py
```
- **ΠΡΠΈΡΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ**: ΠΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
```
pip install pipreqs
pipreqs . --force
pip install -r requirements.txt
```
1. **Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ**
- **ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ**: ΠΠΏΡΠΈΡ `--onedir` Π² PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ `--onefile`, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅:
```
pyinstaller --onedir your_script.py
```
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ**: Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ-ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Nuitka, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΈΡ
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
```
python -m nuitka --module critical_module.py
```
- **ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Python ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
```
pyinstaller --python-option=O your_script.py
```
**ΠΠ°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ**
ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Python-ΠΊΠΎΠ΄ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ:
1. **ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ**
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ PyArmor**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΡ Python-ΡΠΊΡΠΈΠΏΡΠΎΠ²:
```
pip install pyarmor
pyarmor obfuscate your_script.py
```
- **ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ pyminifier ΠΌΠΎΠ³ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ:
```
pip install pyminifier
pyminifier --obfuscate your_script.py > obfuscated_script.py
```
1. **ΠΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ**
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ `--standalone`**: Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄:
```
python -m nuitka --standalone --follow-imports your_script.py
```
- **ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² C-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Cython Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠΎΠ±ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
# sensitive_module.pyx
def secret_algorithm(data):
# ΠΠ°Ρ Π²Π°ΠΆΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ
return processed_data
```
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
# setup.py
from setuptools import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("sensitive_module.pyx")
)
```
```
python setup.py build_ext --inplace
```
1. **ΠΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°**
- **Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ**: ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
```
# ΠΠ»Ρ Windows Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ signtool
signtool sign /f certificate.pfx /p password /t http://timestamp.comodoca.com your_exe.exe
```
- **ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ**: ΠΡΡΡΠΎΠΉΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π·Π°ΠΏΡΡΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
import hashlib
import sys
def check_integrity():
# ΠΠ»Ρ PyInstaller
if getattr(sys, 'frozen', False):
executable = sys.executable
# ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ Ρ
Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
hash_value = hashlib.sha256(open(executable, 'rb').read()).hexdigest()
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌΡ Ρ
Π΅ΡΡ
if hash_value != 'expected_hash_value':
sys.exit("Integrity check failed")
```
**ΠΠ°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ**
ΠΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Python-ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ:
| **ΠΡΠΏΠ΅ΠΊΡ** | **ΠΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ** | **ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°ΡΠΈΡΡ** | **ΠΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ** |
|---|---|---|---|
| Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° | UPX ΡΠΆΠ°ΡΠΈΠ΅, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ | Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΈ Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ | ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ |
| Π‘ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° | `--onedir` Π²ΠΌΠ΅ΡΡΠΎ `--onefile` | ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ | ΠΠ°ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π·Π°ΠΏΡΡΠΊ |
| Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ | Cython, Nuitka Π΄Π»Ρ Π³ΠΎΡΡΡΠΈΡ
ΡΡΠ°ΡΡΠΊΠΎΠ² | ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ | ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ |
| ΠΠ°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π° | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ | PyArmor, Nuitka, C-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ | ΠΠΎΠ»Π΅Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ |
| Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ | Π¨ΠΈΡΠΎΠΊΠ°Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ PyInstaller | ΠΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΠ΅ | ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅Ρ
ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
|
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ:
1. ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka ΠΈΠ»ΠΈ Cython Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
3. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ PyInstaller.
4. ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
5. Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ β ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΈΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π½Π°ΡΡΡΠΈΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΡΡ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π»ΡΠ³ΠΊΡΡ ΡΠ΅Π»Ρ. π
## ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3 ΠΈ ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠ΄ΠΎΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ
ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ. π οΈ
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 1: ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ**
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΡΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ β PyInstaller ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΊΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΊΡΡΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `--hidden-import`:
```
pyinstaller --hidden-import=pandas.io.formats.excel your_script.py
```
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Ρ
ΡΠΊ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (Ρ
ΡΠΊΠΈ β ΡΡΠΎ Python-ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ PyInstaller ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ):
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
# hook-yourmodule.py
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
# Π‘ΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ
hiddenimports = collect_submodules('yourmodule')
# Π‘ΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΡΡ
datas = collect_data_files('yourmodule')
```
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ `--debug` Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
```
pyinstaller --debug=imports your_script.py
```
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 2: ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ)**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
```
pyinstaller --add-data "resources/images:resources/images" your_script.py
```
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ· ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
def resource_path(relative_path):
"""ΠΠΎΠ»ΡΡΠΈΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ"""
try:
# PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΏΡΡΡ Π² _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
# Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ
config_path = resource_path("config.json")
```
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 3: ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ°Π·Π½ΡΡ
Π»ΠΎΠΊΠ°Π»ΡΡ
ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ
.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
```
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
# Π Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅
import locale
locale.setlocale(locale.LC_ALL, '')
# ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Ρ PyInstaller
pyinstaller --hidden-import=babel.numbers your_script.py
```
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 4: ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ PyInstaller ΡΠ°ΠΉΠ»Ρ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΈΠ·-Π·Π° ΠΈΡ
ΡΡΡΡΠΊΡΡΡΡ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΠΈΡΡΠΎΠ²ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ:
```
signtool sign /f certificate.pfx /p password /t http://timestamp.comodoca.com your_exe.exe
```
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΅Π½Π΄Π°.
- Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Nuitka, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ "ΠΎΠ±ΡΡΠ½ΡΠ΅" ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 5: ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Python ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ UPX Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ):
```
pyinstaller --upx-dir=/path/to/upx --onefile your_script.py
```
- ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
```
pyinstaller --exclude-module=numpy --exclude-module=matplotlib your_script.py
```
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ:
```
pip install pipreqs
pipreqs . --force # ΠΠ΅Π½Π΅ΡΠΈΡΡΠ΅Ρ requirements.txt ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ
pip install -r requirements.txt # Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ
```
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 6: ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΊΠ°ΠΆΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ (Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ):
```
docker run --rm -v "$(pwd):/src/" cdrx/pyinstaller-windows:python3 "pyinstaller --onefile your_script.py"
```
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
Python
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄
```
import sys
if sys.platform.startswith('win'):
import winreg # Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows
elif sys.platform.startswith('linux'):
import fcntl # Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Linux
```
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 7: ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌ API.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
```
pyinstaller --hidden-import=sqlite3 --hidden-import=pymysql your_script.py
```
- ΠΠ»Ρ ODBC ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ DLL Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
```
pyinstaller --add-binary "C:/Windows/System32/odbc32.dll:." your_script.py
```
**Π‘Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ**
| **ΠΡΠΎΠ±Π»Π΅ΠΌΠ°** | **Π‘ΠΈΠΌΠΏΡΠΎΠΌΡ** | **Π Π΅ΡΠ΅Π½ΠΈΠ΅** | **ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ** |
|---|---|---|---|
| ΠΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ | ImportError ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ | Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ | `--hidden-import`, Ρ
ΡΠΊΠΈ |
| ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ | FileNotFoundError | ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ, `--add-data` | `sys._MEIPASS`, `resource_path()` |
| ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ | UnicodeDecodeError | Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ | `encoding='utf-8'` |
| ΠΠ½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ | ΠΠ°ΡΠ°Π½ΡΠΈΠ½ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ | Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ | `signtool`, Nuitka |
| ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° | \> 50MB Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² | ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠΆΠ°ΡΠΈΠ΅ | UPX, `--exclude-module` |
| ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ | Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΠ‘, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ | ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ | Docker, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ |
| ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΠ | ΠΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ | ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², DLL | `--hidden-import`, `--add-binary` |
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, ΠΏΠΎΡΡΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. π
> Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΠΊΠΎΠ΄Π° β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ²ΠΎΠΈΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ PyInstaller, Nuitka ΠΈΠ»ΠΈ Cython, Π²Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°Π΅ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π±Π°ΡΡΠ΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±Π΅Π· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π²ΠΈΠ·ΠΈΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ°Ρ Π·Π°Π±ΠΎΡΡ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΎΠΏΡΡΠ΅ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ°Π»ΡΠΌ.
**Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅**
- [Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³Ρ Π½Π° Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠ΅ ΡΡΠΎΠΊΠΈ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ](https://sky.pro/wiki/python/sozdanie-igr-na-python-dlya-nachinayushih/)
- [Python: ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π²Π΅Π±, Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΠ](https://sky.pro/wiki/python/znachenie-python-v-sovremennom-programmirovanii/)
- [ΠΡΠΎΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
: ΡΡΠΈΠΌΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄](https://sky.pro/wiki/python/prostye-programmy-dlya-nachinayushih-na-python/)
- [ΠΠ°ΡΠ°Π±ΠΎΡΠΎΠΊ Π½Π° Python: 5 Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π·Π°ΡΠΏΠ»Π°ΡΡ Π² IT](https://sky.pro/wiki/python/kak-zarabotat-na-python/)
- [5 ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΡΡ Π² Python](https://sky.pro/wiki/python/kak-poluchit-tekushij-put-v-python-3/)
- [Python Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²: 15 ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ](https://sky.pro/wiki/python/python-kody-dlya-nachinayushih/)
- [ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ Π² Python: Π·Π°ΡΠΈΡΠ° Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΠΠ](https://sky.pro/wiki/python/inkapsulyaciya-v-python/)
- [ΠΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Python: ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎ 60% ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ](https://sky.pro/wiki/python/kak-obnovit-python-do-poslednej-versii/)
- [Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΡΡΠΌΠΈ Π² Python: os.path ΠΈΠ»ΠΈ pathlib Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ](https://sky.pro/wiki/python/rabota-s-putyami-fajlov-v-python/)
- [15 Π»ΡΡΡΠΈΡ
Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
PDF-ΡΡΠ΅Π±Π½ΠΈΠΊΠΎΠ² Python Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²](https://sky.pro/wiki/python/python-dlya-nachinayushih-luchshie-pdf-resursy/)
ΠΡΠΎΠ²Π΅ΡΡ ΠΊΠ°ΠΊ ΡΡ ΡΡΠ²ΠΎΠΈΠ» ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΡΡΠ°ΡΡΠΈ
ΠΡΠΎΠΉΠ΄ΠΈ ΡΠ΅ΡΡ ΠΈ ΡΠ·Π½Π°ΠΉ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡ Π»ΡΡΡΠ΅ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ»?
1 / 5
PyInstaller
pip
virtualenv
ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π’ΠΈΡΠΎΠ²
ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΏΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΡΠ΅ΡΡ
Π‘Π²Π΅ΠΆΠΈΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
[ΠΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΠΎΠΊΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ](https://sky.pro/wiki/python/luchshie-resursy-dlya-video-urokov-po-programmirovaniyu/)
6 ΡΠ΅Π½ΡΡΠ±ΡΡ 2024
[ΠΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Python Π½Π° Android](https://sky.pro/wiki/python/kak-skachat-i-ustanovit-python-na-android/)
6 ΡΠ΅Π½ΡΡΠ±ΡΡ 2024
[ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ API ChatGPT: ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
](https://sky.pro/wiki/python/kak-ispolzovat-api-chatgpt-rukovodstvo-dlya-nachinayushih/)
6 ΡΠ΅Π½ΡΡΠ±ΡΡ 2024
#### ΠΠ°Π³ΡΡΠ·ΠΊΠ°...
ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΡΡΠ°ΡΡΠ΅
[](https://sky.pro/promo/media/main-proftest?utm_source=skypro_wiki&utm_medium=side_banner&utm_campaign=https://sky.pro/wiki/)
[](https://sky.pro/)
ΠΠΎΠ½ΡΠ°ΠΊΡΡ
[\+7 495 137 85 99](tel:+74951378599)
[skypro-support@skyeng.ru](mailto:skypro-support@skyeng.ru)
O Skypro
[ΠΡΠ·ΡΠ²Ρ](https://sky.pro/reviews/?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[ΠΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ](https://sky.pro/courses/?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[Π£ΡΠ»ΠΎΠ²ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ](https://legal.sky.pro/doc/view/terms-of-use-skypro)
[Π’Π΅ΡΡ Π½Π° ΠΏΡΠΎΡΠΎΡΠΈΠ΅Π½ΡΠ°ΡΠΈΡ](https://sky.pro/test-na-proforientaciyu)
ΠΡΠΎΡΠ΅ΡΡΠΈΠΈ
[ΠΠ½Π°Π»ΠΈΡΠΈΠΊ Π΄Π°Π½Π½ΡΡ
](https://sky.pro/courses/analytics/data_analytics?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[Π’Π΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊ](https://sky.pro/courses/programming/qa-engineer?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ](https://sky.pro/courses/programming/python-web-course?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ](https://sky.pro/courses/programming/java-developer?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ](https://sky.pro/courses/programming/web-developer?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ](https://sky.pro/courses/design/graf-designer?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
[ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ»ΠΎΠ³](https://sky.pro/courses/marketing/internet-marketolog?utm_source=skypro_wiki_seo&utm_medium=free&utm_campaign=n_skypro_wiki%7Cpr_%7Cfu_product%7Cma_litunova%7Cown_b2c%7Ccnt_RU%7Cbr_Skypro%7Cchg_smm%7Cdt_31-01-2024)
Β© Skypro 2026
[](https://go.sky.pro/vkontakte_main)
[](https://go.sky.pro/telegram_main)
[](https://go.sky.pro/YouTube_main) |
| Readable Markdown | [\#Π Π°Π·Π½ΠΎΠ΅](https://sky.pro/wiki/tags/raznoe/)
ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΡ, ΡΠ·Π½Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡΠ΅
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ Π»Π΅Ρ
0%
ΠΠΎ 18
ΠΡ 18 Π΄ΠΎ 24
ΠΡ 25 Π΄ΠΎ 34
ΠΡ 35 Π΄ΠΎ 44
ΠΡ 45 Π΄ΠΎ 49
ΠΡ 50 Π΄ΠΎ 54
ΠΠΎΠ»ΡΡΠ΅ 55
**ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ ΡΡΠ° ΡΡΠ°ΡΡΡ:**
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π° Python, ΠΈΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- ΠΡΠ΄ΠΈ, Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ²ΠΎΠΈΡ
Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°
- ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ IT, ΠΆΠ΅Π»Π°ΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π³Π΅Π½ΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Python 3, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌ ΠΈΠ»ΠΈ Π΄ΡΡΠ·ΡΡΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅Π»ΠΎΠ²ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ: "Π Π³Π΄Π΅ ΡΠΊΠ°ΡΠ°ΡΡ Python? ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ .exe ΡΠ°ΠΉΠ»?" ΠΠ½Π°ΠΊΠΎΠΌΠΎ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? π€ ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β ΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ²Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π΄Π°ΠΆΠ΅ Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π²Π°Ρ .py ΡΠ°ΠΉΠ» Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΠ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΎΡ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ
Π³Π»Π°Π·.
> Π₯ΠΎΡΠΈΡΠ΅ ΠΎΡΠ²ΠΎΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅? ΠΡΡΡ [ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅](https://sky.pro/courses/programming/python-web-course) ΠΎΡ Skypro ΠΏΠΎΠ³ΡΡΠΆΠ°Π΅Ρ Π²Π°Ρ Π² ΠΌΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ
ΡΠ΅Ρ
Π½ΠΈΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΡΠ΄ΠΈ Π±Π΅Π· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ.
## ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3: ΠΌΠΈΡΡ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΡ Π·Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3, ΠΏΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ β Python ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ΄ Python Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π·Π° ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ, Π° Π½Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² C++ ΠΈΠ»ΠΈ Java. π
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ· Python-ΠΊΠΎΠ΄Π°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ² ΠΊ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python:
- **ΠΠ°ΠΉΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ**: Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π² Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ (.pyc ΡΠ°ΠΉΠ»Ρ), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Python (PVM). ΠΡΠΎ Π½Π΅ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
- **Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° (packaging)**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ PyInstaller ΠΈΠ»ΠΈ py2exe "ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ" Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
- **Π’ΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π² Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΊΠΎΠ΄**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ Cython ΠΈΠ»ΠΈ Nuitka ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ Python-ΠΊΠΎΠ΄ Π² C/C++, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
> **ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠ΅ΡΡΠΎΠ², ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ** Π― Π΄ΠΎΠ»Π³ΠΎ ΡΡΠΈΡΠ°Π», ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python β ΡΡΠΎ ΠΌΠΈΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½Ρ Π½Π°ΡΡΠ°ΠΈΠ²Π°Π» Π½Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ β PyInstaller ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ» Π½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π·Π° ΡΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΌΠΈΠ½ΡΡΡ. ΠΠ°, ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΠ» Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ (ΠΎΠΊΠΎΠ»ΠΎ 60 ΠΠ), Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΎΡΡΠ°Π»ΡΡ Π΄ΠΎΠ²ΠΎΠ»Π΅Π½. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΎΠ²Π°Π»ΠΎ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΌΠ΅Π½ΡΡΡ Π½ΠΈ ΡΡΡΠΎΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ. ΠΠ»Π°Π²Π½ΡΠΉ ΡΡΠΎΠΊ β Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° C++ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·-Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π Π°Π·Π±Π΅ΡΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python:
| **ΠΠΈΡ** | **Π Π΅Π°Π»ΡΠ½ΠΎΡΡΡ** |
|---|---|
| Python Π½Π΅Π»ΡΠ·Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ | ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΈ ΠΊΠΎΠ΄ |
| Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΡΡΡΠΎ, ΠΊΠ°ΠΊ C++ | ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python Π½Π΅ Π΄Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ |
| ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ | ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ |
| ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌ | Π€Π°ΠΉΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ |
| ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
| ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Windows, macOS, Linux) Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ |
ΠΡΡΠΈΠ½Π½Π°Ρ ΡΠ΅Π»Ρ "ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ" Python β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ (Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ) Π·Π°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
[](https://sky.pro/promo/media/main-proftest?utm_source=skypro_wiki&utm_medium=side_banner&utm_campaign=https://sky.pro/wiki/)
## ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Python 3
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΠΊΠΎΠ΄Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3. βοΈ
| **ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ** | **ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ** | **ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°** | **ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ** | **Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ** |
|---|---|---|---|---|
| PyInstaller | Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Python-ΡΠΊΡΠΈΠΏΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» | ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, ΠΏΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ | ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°, Π½Π΅ Π΄Π°Π΅Ρ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ | ΠΠΈΠ·ΠΊΠ°Ρ |
| Nuitka | Π’ΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ Python Π² C++, Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ | ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π»ΡΡΡΠ°Ρ Π·Π°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° | Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, Π½Π΅ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ | Π‘ΡΠ΅Π΄Π½ΡΡ |
| Cython | ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π² C ΠΊΠΎΠ΄, Π·Π°ΡΠ΅ΠΌ Π² Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ | Π‘ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ | Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π΅ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ | ΠΡΡΠΎΠΊΠ°Ρ |
| py2exe | Π‘ΠΎΠ·Π΄Π°Π΅Ρ exe-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Windows | ΠΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠΊΡΡ Π½Π° Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
| Π’ΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows, ΡΡΡΠ°ΡΠ΅Π²Π°Π΅Ρ | ΠΠΈΠ·ΠΊΠ°Ρ |
| cx\_Freeze | Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ | ΠΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ, Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° | Π’ΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ | Π‘ΡΠ΅Π΄Π½ΡΡ |
**PyInstaller** β ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ "ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠΊΠ°": Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²:
**Nuitka** ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡ Python-ΠΊΠΎΠ΄ Π² C++, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎ-ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:
**Cython** β ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Python Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² C. ΠΠ½ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
> **ΠΠΌΠΈΡΡΠΈΠΉ Π‘ΠΎΠΊΠΎΠ»ΠΎΠ², DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ** ΠΠΎΠ³Π΄Π° Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΎΠ»ΠΊΠ½ΡΠ»Π°ΡΡ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ
Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΌΡ Π½Π°ΡΠ°Π»ΠΈ Ρ PyInstaller. ΠΡΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΡΠΎΠ²ΡΡ
ΠΌΠ°ΡΠΈΠ½Π°Ρ
, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ: Π°Π½ΡΠΈΠ²ΠΈΡΡΡΡ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°Π»ΠΈ Π½Π°ΡΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π΅ Π±ΡΠ»ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ. ΠΠΎΡΠ»Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Nuitka Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ) ΠΈ PyInstaller Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. ΠΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, Π½ΠΎ ΡΡΡΡΠ°Π½ΠΈΠ»ΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ. Π‘ ΡΠ΅Ρ
ΠΏΠΎΡ ΡΠ°ΠΊΠΎΠΉ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ°Π» Π½Π°ΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ»Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ:
- **Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°**: ΠΠ»Ρ ΠΏΡΠΎΡΡΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ PyInstaller, Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Nuitka ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄.
- **Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ**: ΠΡΠ»ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠΈΡΠΈΡΠ½Π°, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Cython ΠΈΠ»ΠΈ Nuitka.
- **Π¦Π΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°**: ΠΠ»Ρ Windows-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ py2exe ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅; Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ
β PyInstaller ΠΈΠ»ΠΈ cx\_Freeze.
- **ΠΠ°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π°**: Nuitka ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ΅ΠΌ PyInstaller.
- **ΠΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅**: PyInstaller ΠΈ py2exe ΡΡΠ΅Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°Π±ΠΎΡΡ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python β ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π·Π°ΡΠΈΡΠΎΠΉ ΠΊΠΎΠ΄Π°. π§
## PyInstaller: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
PyInstaller β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Python-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Windows, macOS ΠΈ Linux. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller. π¦
**Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller**
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PyInstaller ΡΠ΅ΡΠ΅Π· pip:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ Python, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ:
**Π¨Π°Π³ 2: ΠΠ°Π·ΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ**
ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ "dist", Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π° Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
**Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°**
ΠΠ»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Π³ΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ `--onefile`:
ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
**Π¨Π°Π³ 4: ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ**
PyInstaller ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΉ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
- **\--name**: Π·Π°Π΄Π°Π΅Ρ ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
- **\--icon**: Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΎΠΊ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Windows ΠΈ macOS):
- **\--noconsole** (ΠΈΠ»ΠΈ `--windowed`): ΡΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ (Π΄Π»Ρ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ):
- **\--add-data**: Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
**Π¨Π°Π³ 5: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ spec-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²**
ΠΠ»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ spec-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠ±ΠΎΡΠΊΠΈ:
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» MyApp.spec, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ spec-ΡΠ°ΠΉΠ»Π°:
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ spec-ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΡΡΡΡ
ΠΈΠΌΠΏΠΎΡΡΠΎΠ² ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²:
**Π¨Π°Π³ 6: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅**
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° "ΡΠΈΡΡΠΎΠΉ" ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±Π΅Π· ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Python ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ.
**Π¨Π°Π³ 7: Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ**
- **ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `--hidden-import` Π΄Π»Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ PyInstaller Π½Π΅ ΡΠΌΠΎΠ³ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ:
- **ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ**: ΠΠ½ΡΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠ°Ρ
: ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π·Π°ΠΏΡΡΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΡΠΈΠΈ `--onefile`. π
## ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈ Π·Π°ΡΠΈΡΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Python-ΠΊΠΎΠ΄Π°
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π²ΡΡΠ°ΡΡ Π΄Π²Π΅ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ: ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠΈΡΠ° ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ
Π·Π°Π΄Π°Ρ. π‘οΈ
**ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°**
1. **Π£ΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°**
- **ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `--exclude-module` Π² PyInstaller Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ:
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ UPX Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ**: UPX β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ:
- **ΠΡΠΈΡΡΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ**: ΠΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
1. **Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ**
- **ΠΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ**: ΠΠΏΡΠΈΡ `--onedir` Π² PyInstaller ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΡΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ `--onefile`, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅:
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ**: Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ-ΠΊΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Nuitka, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΈΡ
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
- **ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ»Π°Π³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Python ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
**ΠΠ°ΡΠΈΡΠ° ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ**
ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ Python-ΠΊΠΎΠ΄ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ:
1. **ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ**
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ PyArmor**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΡ Python-ΡΠΊΡΠΈΠΏΡΠΎΠ²:
- **ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ**: ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ pyminifier ΠΌΠΎΠ³ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ:
1. **ΠΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ**
- **ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ `--standalone`**: Π‘ΠΎΠ·Π΄Π°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ΅ΠΌ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄:
- **ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² C-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ**: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Cython Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΡΠΎΠ±ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
1. **ΠΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°**
- **Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ**: ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- **ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ**: ΠΡΡΡΠΎΠΉΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ Π·Π°ΠΏΡΡΠΊ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
**ΠΠ°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ**
ΠΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π·Π°ΡΠΈΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Python-ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π±Π°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ:
| **ΠΡΠΏΠ΅ΠΊΡ** | **ΠΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ** | **ΠΠ΅ΡΠΎΠ΄Ρ Π·Π°ΡΠΈΡΡ** | **ΠΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ** |
|---|---|---|---|
| Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° | UPX ΡΠΆΠ°ΡΠΈΠ΅, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ | Π£ΠΏΠ°ΠΊΠΎΠ²ΡΠΈΠΊΠΈ Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ | ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ |
| Π‘ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° | `--onedir` Π²ΠΌΠ΅ΡΡΠΎ `--onefile` | ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ | ΠΠ°ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π·Π°ΠΏΡΡΠΊ |
| Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ | Cython, Nuitka Π΄Π»Ρ Π³ΠΎΡΡΡΠΈΡ
ΡΡΠ°ΡΡΠΊΠΎΠ² | ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ | ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ |
| ΠΠ°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π° | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ | PyArmor, Nuitka, C-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ | ΠΠΎΠ»Π΅Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ |
| Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ | Π¨ΠΈΡΠΎΠΊΠ°Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ PyInstaller | ΠΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΠ΅ | ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅Ρ
ΡΠ΅Π»Π΅Π²ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
|
ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ:
1. ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Nuitka ΠΈΠ»ΠΈ Cython Π΄Π»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
3. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ PyInstaller.
4. ΠΠ½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
5. Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ β ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΄ΠΎΡΠΌΠΊΠΈΠΌΠΈ, ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π½Π°ΡΡΡΠΈΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΡΡ Π½Π°ΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π»ΡΠ³ΠΊΡΡ ΡΠ΅Π»Ρ. π
## ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python 3 ΠΈ ΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Python-ΠΊΠΎΠ΄Π° Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠ΄ΠΎΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ
ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΡ. π οΈ
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 1: ΠΡΡΡΡΡΡΠ²ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ**
ΠΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΡΠ°ΡΡΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ β PyInstaller ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π΄ΠΊΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΊΡΡΡΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `--hidden-import`:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Ρ
ΡΠΊ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (Ρ
ΡΠΊΠΈ β ΡΡΠΎ Python-ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ PyInstaller ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ):
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠΏΡΠΈΡ `--debug` Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 2: ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ)**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ· ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 3: ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ°Π·Π½ΡΡ
Π»ΠΎΠΊΠ°Π»ΡΡ
ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ
.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ:
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 4: ΠΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ PyInstaller ΡΠ°ΠΉΠ»Ρ ΡΠ°ΡΡΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΈΠ·-Π·Π° ΠΈΡ
ΡΡΡΡΠΊΡΡΡΡ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- ΠΠΎΠ΄ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΠΈΡΡΠΎΠ²ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΅Π½Π΄Π°.
- Π Π°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Nuitka, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ "ΠΎΠ±ΡΡΠ½ΡΠ΅" ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 5: ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Python ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΈ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ UPX Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ°ΠΌΠΈ):
- ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ:
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 6: ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΊΠ°ΠΆΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌΠΈ.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ (Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ):
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΡ
ΡΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠ΄Π°:
**ΠΡΠΎΠ±Π»Π΅ΠΌΠ° 7: ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ**
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌ API.
**Π Π΅ΡΠ΅Π½ΠΈΠ΅:**
- Π―Π²Π½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
- ΠΠ»Ρ ODBC ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ DLL Π² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ:
**Π‘Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ**
| **ΠΡΠΎΠ±Π»Π΅ΠΌΠ°** | **Π‘ΠΈΠΌΠΏΡΠΎΠΌΡ** | **Π Π΅ΡΠ΅Π½ΠΈΠ΅** | **ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ** |
|---|---|---|---|
| ΠΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ | ImportError ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ | Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ | `--hidden-import`, Ρ
ΡΠΊΠΈ |
| ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΡΡΡΠΌΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ | FileNotFoundError | ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΡΠ΅ΠΉ, `--add-data` | `sys._MEIPASS`, `resource_path()` |
| ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ | UnicodeDecodeError | Π―Π²Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ | `encoding='utf-8'` |
| ΠΠ½ΡΠΈΠ²ΠΈΡΡΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ | ΠΠ°ΡΠ°Π½ΡΠΈΠ½ ΡΠ°ΠΉΠ»Π°, ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ | Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ, Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ | `signtool`, Nuitka |
| ΠΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° | \> 50MB Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ
ΡΠΊΡΠΈΠΏΡΠΎΠ² | ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΡΠΆΠ°ΡΠΈΠ΅ | UPX, `--exclude-module` |
| ΠΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ | Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΠ‘, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ | ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ | Docker, ΡΡΠ»ΠΎΠ²Π½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ |
| ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΠ | ΠΡΠΈΠ±ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ | ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², DLL | `--hidden-import`, `--add-binary` |
ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π°ΠΊΠΎΠΉ ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΎΠ½Π½ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ, ΠΏΠΎΡΡΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ β Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ΅ΡΠ°Π΅ΠΌΠ°Ρ Π·Π°Π΄Π°ΡΠ°. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ Π² ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. π
> Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΠΊΠΎΠ΄Π° β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²Π°ΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ²ΠΎΠΈΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ PyInstaller, Nuitka ΠΈΠ»ΠΈ Cython, Π²Ρ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π²Π°Π΅ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π±Π°ΡΡΠ΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±Π΅Π· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β ΡΡΠΎ Π²ΠΈΠ·ΠΈΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΎΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ°Ρ Π·Π°Π±ΠΎΡΡ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΎΠΏΡΡΠ΅ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ°Π»ΡΠΌ.
**Π§ΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΊΠΆΠ΅** |
| Shard | 181 (laksa) |
| Root Hash | 18009342750325351181 |
| Unparsed URL | pro,sky!/wiki/python/kak-kompilirovat-python-3/ s443 |