βΉοΈ 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.5 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://pythonru.com/biblioteki/pyinstaller |
| Last Crawled | 2026-03-21 06:38:40 (16 days ago) |
| First Indexed | 2021-03-29 18:02:22 (5 years ago) |
| HTTP Status Code | 200 |
| Meta Title | PyInstaller β ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ python-ΡΠΊΡΠΈΠΏΡ Π² exe ΡΠ°ΠΉΠ» |
| Meta Description | Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python. pip install PyInstaller ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ |
| Meta Canonical | null |
| Boilerpipe Text | Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python.
pip install PyInstaller
ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ PyInstaller.
pyinstaller --version
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PyInstaller Π²Π΅ΡΡΠΈΠΈ 4.2.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ exe ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller
PyInstaller ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΅ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘ΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ.
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» spec, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π»ΡΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ PyInstaller.
Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΠΈ Π²ΡΠ΅Ρ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python.
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ BUILD Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² BUILD.
Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ DIST Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΈΠ»ΠΈ Π² ΠΎΠ΄Π½Ρ ΠΏΠ°ΠΏΠΊΡ, ΠΈΠ»ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
onedir
ΠΈΠ»ΠΈ
-D
ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΠΎΠ΄Π½Ρ ΠΏΠ°ΠΏΠΊΡ. ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
onefile
ΠΈΠ»ΠΈ
-F
, ΡΠΎ Π²ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° Python c Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ simple.py, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄.
import time
name = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²Π°ΡΠ΅ ΠΈΠΌΡ ")
print("ΠΠ°ΡΠ΅ ΠΈΠΌΡ ", name)
time.sleep(5)
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅:
pyinstaller --onefile simple.py
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π΄Π²Π΅ ΠΏΠ°ΠΏΠΊΠΈ, BUILD ΠΈ DIST, Π° ΡΠ°ΠΊΠΆΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .spec. Spec-ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ°.
Python ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ exe-ΡΠ°ΠΉΠ»ΠΎΠΌ
ΠΡΡΡ CSV-ΡΠ°ΠΉΠ»
netflix_titles.csv
, ΠΈ Python-script, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π½Π΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² Π±Π°Π½Π΄Π» Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. Π€Π°ΠΉΠ» Python-ΡΠΊΡΠΈΠΏΡΠ° Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ simple1.py.
import time
# pip install pandas
import pandas as pd
def count_records():
data = pd.read_csv('netflix_titles.csv')
print("ΠΡΠ΅Π³ΠΎ ΡΠΈΠ»ΡΠΌΠΎΠ²:", data.shape[0])
if __name__ == "__main__":
count_records()
time.sleep(5)
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅.
pyinstaller --add-data "netflix_titles.csv;." simple1.py
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
--add-data
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°Π½Π΄Π»Π΅ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ add-data:
add-data <source;destination> β Windows.
add-data <source:destination> β Linux.
ΠΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ DIST Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ.
Π’Π°ΠΊΠΆΠ΅, ΠΎΡΠΊΡΡΠ² spec-ΡΠ°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π·Π΄Π΅Π» datas, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» netflix_titles.csv ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
...
a = Analysis(['simple1.py'],
pathex=['E:\\myProject\\pyinstaller-tutorial'],
binaries=[],
datas=[('netflix_titles.csv', '.')],
...
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΡΠ°ΠΉΠ» simple1.exe, ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ:
ΠΡΠ΅Π³ΠΎ ΡΠΈΠ»ΡΠΌΠΎΠ²: 7787
.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ onefile
ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--onefile
, ΡΠΎ PyInstaller ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΡ TEMP, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ TEMP. ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ add-data ΡΠΊΠ°Π·Π°ΡΡ onefile, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ. ΠΡΡΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° Β«_MEIxxxxxx-folderΒ».
import time
import sys
import os
# pip install pandas
import pandas as pd
def count_records():
os.chdir(sys._MEIPASS)
data = pd.read_csv('netflix_titles.csv')
print("ΠΡΠ΅Π³ΠΎ ΡΠΈΠ»ΡΠΌΠΎΠ²:", data.shape[0])
if __name__ == "__main__":
count_records()
time.sleep(5)
Π‘ΠΊΡΠΈΠΏΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ TEMP ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ exe-ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ onefile ΠΈ add-data.
pyinstaller --onefile --add-data "netflix_titles.csv;." simple1.py
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ» simple1.exe ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ DIST.
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Hidden Imports
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠ΅Π±ΡΡΡΡΡ Π²ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Python-ΡΠΊΡΠΈΠΏΡΡ. ΠΠ½ΠΎΠ³Π΄Π° PyInstaller ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΡ
ImportError: No module named
β¦
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² hidden-import.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ os, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
pyinstaller --onefile --add-data "netflix_titles.csv;." β hidden-import "os" simple1.py
Π€Π°ΠΉΠ» spec
Π€Π°ΠΉΠ» spec β ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ PyInstaller ΡΠΎΠ·Π΄Π°Π΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Python Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅.
PyInstaller ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ.
Π€Π°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .spec ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π½ΠΈΠΆΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
Π‘ΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°Π½Π΄Π» Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΡΡ
.
ΠΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ: .dll ΠΈΠ»ΠΈ .so.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°Π½Π΄Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ simpleModel.py, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ TensorFlow ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
import time
import tensorflow as tf
def view_model():
print(tf.__version__)
if __name__ == "__main__" :
model = view_model()
time.sleep(5)
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller:
pyinstaller -F simpleModel.py
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
...
File "site-packages\tensorflow_core\python_init_.py", line 49, in ImportError: cannot import name 'pywrap_tensorflow' from 'tensorflow_core.python'
ΠΡΠΏΡΠ°Π²ΠΈΠΌ Π΅Π΅, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΡΠ°ΠΉΠ» spec. ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ β ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» spec.
$ pyi-makespec simpleModel.py -F
wrote E:\pyinstaller-tutorial\simpleModel.spec
now run pyinstaller.py to build the executable
ΠΠΎΠΌΠ°Π½Π΄Π° pyi-makespec ΡΠΎΠ·Π΄Π°Π΅Ρ spec-ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π€Π°ΠΉΠ» simpleModel.spec ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--onefile
, ΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π» exe.
...
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='simpleModel',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ onedir, ΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ exe-ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ°Π·Π΄Π΅Π» collect.
ΠΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ simpleModel.spec ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ
ΡΠΊΠΎΠ².
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
import os
spec_root = os.path.realpath(SPECPATH)
options = []
from PyInstaller.utils.hooks import collect_submodules, collect_data_files
tf_hidden_imports = collect_submodules('tensorflow_core')
tf_datas = collect_data_files('tensorflow_core', subdir=None, include_py_files=True)
a = Analysis(['simpleModel.py'],
pathex=['E:\\myProject\\pyinstaller-tutorial'],
binaries=[],
datas=tf_datas + [],
hiddenimports=tf_hidden_imports + [],
hookspath=[],
...
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ
ΡΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΡ
Π² hidden imports ΠΈ ΡΠ°Π·Π΄Π΅Π» Π΄Π°Π½Π½ΡΡ
.
Π₯ΡΠΊΠΈ
Π€Π°ΠΉΠ»Ρ Ρ
ΡΠΊΠΎΠ² ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ PyInstaller ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠ²ΠΎΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ TensorFlow, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. PyInstaller Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΡ
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ·
PyInstaller.utils.hooks
ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° simpleModel.spec.
pyinstaller simpleModel.spec
Π‘ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²Π΅ΡΡΠΈΡ TensorFlow.
ΠΡΠ²ΠΎΠ΄:
PyInstaller ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΡΠΊΡΠΈΠΏΡΠΎΠ²:
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°Π½Π΄Π» Π²ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
--add-data
.
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
--onefile
ΠΈΠ»ΠΈ
--onedir
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
hidden-imports
.
Π€Π°ΠΉΠ» spec ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΡΡΡΡΡ
ΠΈΠΌΠΏΠΎΡΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ
ΡΠΊΠΎΠ². |
| Markdown | 
- [ΠΡΠ½ΠΎΠ²Ρ](https://pythonru.com/osnovy)
- [Π£ΡΠΎΠΊΠΈ](https://pythonru.com/uroki)
- [ΠΡΠΈΠΌΠ΅ΡΡ](https://pythonru.com/primery)
- [ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://pythonru.com/biblioteki)
- [ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ](https://pythonru.com/baza-znanij)
[](https://pythonru.com/)
[ PythonRu](https://pythonru.com/)
- [ΠΡΠ½ΠΎΠ²Ρ](https://pythonru.com/osnovy)
- [Π£ΡΠΎΠΊΠΈ](https://pythonru.com/uroki)
- [ΠΡΠΈΠΌΠ΅ΡΡ](https://pythonru.com/primery)
- [ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://pythonru.com/biblioteki)
- [ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ](https://pythonru.com/baza-znanij)
[ΠΠ»Π°Π²Π½Π°Ρ](https://pythonru.com/) [ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ](https://pythonru.com/biblioteki "ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΡΡΡ Π² ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ") ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ exe ΡΠ°ΠΉΠ» Π΄Π»Ρ Python ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller
# ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ exe ΡΠ°ΠΉΠ» Π΄Π»Ρ Python ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller
## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python.
```
pip install PyInstaller
```
ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²Π΅ΡΡΠΈΡ PyInstaller.
```
pyinstaller --version
```
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ PyInstaller Π²Π΅ΡΡΠΈΠΈ 4.2.
## Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ exe ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller
PyInstaller ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ Python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΅ΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
1. Π‘ΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ°.
2. ΠΠ½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ.
3. Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» spec, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠ°, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π»ΡΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ PyInstaller.
4. Π‘ΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΠΈ Π²ΡΠ΅Ρ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python.
5. Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ BUILD Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² BUILD.
6. Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΏΠ°ΠΏΠΊΡ DIST Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
7. ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠΌ ΠΈΠ»ΠΈ Π² ΠΎΠ΄Π½Ρ ΠΏΠ°ΠΏΠΊΡ, ΠΈΠ»ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ».
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ `onedir` ΠΈΠ»ΠΈ `-D` ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ³Π΄Π° Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΠΎΠ΄Π½Ρ ΠΏΠ°ΠΏΠΊΡ. ΠΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `onefile` ΠΈΠ»ΠΈ `-F`, ΡΠΎ Π²ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ Π½Π° Python c Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ simple.py, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄.
[ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Use a different Browser]()
```
```
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ». Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅:
```
pyinstaller --onefile simple.py
```
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π΄Π²Π΅ ΠΏΠ°ΠΏΠΊΠΈ, BUILD ΠΈ DIST, Π° ΡΠ°ΠΊΠΆΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .spec. Spec-ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ°.


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


ΠΠΎΡ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ°ΠΉΠ»Π°.
## ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ exe-ΡΠ°ΠΉΠ»ΠΎΠΌ
ΠΡΡΡ CSV-ΡΠ°ΠΉΠ» [netflix\_titles.csv](https://www.kaggle.com/shivamb/netflix-shows), ΠΈ Python-script, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π½Π΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π² Π±Π°Π½Π΄Π» Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. Π€Π°ΠΉΠ» Python-ΡΠΊΡΠΈΠΏΡΠ° Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ simple1.py.
[ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Use a different Browser]()
```
```
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅.
```
pyinstaller --add-data "netflix_titles.csv;." simple1.py
```
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ `--add-data` ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π°Π½Π΄Π»Π΅ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ add-data:
- add-data \<source;destination\> β Windows.
- add-data \<source:destination\> β Linux.
ΠΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΡ DIST Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ.


Π’Π°ΠΊΠΆΠ΅, ΠΎΡΠΊΡΡΠ² spec-ΡΠ°ΠΉΠ», ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π·Π΄Π΅Π» datas, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΉΠ» netflix\_titles.csv ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
```
...
a = Analysis(['simple1.py'],
pathex=['E:\\myProject\\pyinstaller-tutorial'],
binaries=[],
datas=[('netflix_titles.csv', '.')],
...
```
ΠΠ°ΠΏΡΡΡΠΈΠΌ ΡΠ°ΠΉΠ» simple1.exe, ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ: `ΠΡΠ΅Π³ΠΎ ΡΠΈΠ»ΡΠΌΠΎΠ²: 7787`.
## ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ onefile
ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `--onefile`, ΡΠΎ PyInstaller ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΡ TEMP, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ TEMP. ΠΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ add-data ΡΠΊΠ°Π·Π°ΡΡ onefile, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ. ΠΡΡΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° Β«\_MEIxxxxxx-folderΒ».
[ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Use a different Browser]()
```
```
Π‘ΠΊΡΠΈΠΏΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ TEMP ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ exe-ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ onefile ΠΈ add-data.
```
pyinstaller --onefile --add-data "netflix_titles.csv;." simple1.py
```
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ» simple1.exe ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ DIST.
ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π°.


### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Hidden Imports
ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΡΡΠ΅Π±ΡΡΡΡΡ Π²ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½Ρ Python-ΡΠΊΡΠΈΠΏΡΡ. ΠΠ½ΠΎΠ³Π΄Π° PyInstaller ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΡ `ImportError: No module named`β¦
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² hidden-import.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ os, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
```
pyinstaller --onefile --add-data "netflix_titles.csv;." β hidden-import "os" simple1.py
```
## Π€Π°ΠΉΠ» spec
Π€Π°ΠΉΠ» spec β ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ PyInstaller ΡΠΎΠ·Π΄Π°Π΅Ρ, ΡΡΠΎΠ±Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Python Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅.
PyInstaller ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π²ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ.
Π€Π°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .spec ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π½ΠΈΠΆΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
- Π‘ΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°Π½Π΄Π» Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΡΡ
.
- ΠΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ: .dll ΠΈΠ»ΠΈ .so.
- Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°Π½Π΄Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ simpleModel.py, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ TensorFlow ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
[ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Use a different Browser]()
```
```
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller:
```
pyinstaller -F simpleModel.py
```
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
```
...
File "site-packages\tensorflow_core\python_init_.py", line 49, in ImportError: cannot import name 'pywrap_tensorflow' from 'tensorflow_core.python'
```
ΠΡΠΏΡΠ°Π²ΠΈΠΌ Π΅Π΅, ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΡΠ°ΠΉΠ» spec. ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ β ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» spec.
```
$ pyi-makespec simpleModel.py -F
wrote E:\pyinstaller-tutorial\simpleModel.spec
now run pyinstaller.py to build the executable
```
ΠΠΎΠΌΠ°Π½Π΄Π° pyi-makespec ΡΠΎΠ·Π΄Π°Π΅Ρ spec-ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π€Π°ΠΉΠ» simpleModel.spec ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ `--onefile`, ΡΠΎ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π΄Π΅Π» exe.
```
...
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='simpleModel',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
```
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ onedir, ΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ exe-ΡΠ°Π·Π΄Π΅Π»ΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΡΠ°Π·Π΄Π΅Π» collect.
ΠΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ simpleModel.spec ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Ρ
ΡΠΊΠΎΠ².
```
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
import os
spec_root = os.path.realpath(SPECPATH)
options = []
from PyInstaller.utils.hooks import collect_submodules, collect_data_files
tf_hidden_imports = collect_submodules('tensorflow_core')
tf_datas = collect_data_files('tensorflow_core', subdir=None, include_py_files=True)
a = Analysis(['simpleModel.py'],
pathex=['E:\\myProject\\pyinstaller-tutorial'],
binaries=[],
datas=tf_datas + [],
hiddenimports=tf_hidden_imports + [],
hookspath=[],
...
```
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ
ΡΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΡ
Π² hidden imports ΠΈ ΡΠ°Π·Π΄Π΅Π» Π΄Π°Π½Π½ΡΡ
.
## Π₯ΡΠΊΠΈ
> Π€Π°ΠΉΠ»Ρ Ρ
ΡΠΊΠΎΠ² ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ PyInstaller ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ±ΡΡΠ½ΠΎ ΠΏΠ°ΠΊΠ΅ΡΡ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΡΠ²ΠΎΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π½ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠ°ΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ TensorFlow, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠΌΠΏΠΎΡΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. PyInstaller Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΡ
ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ° ΠΈΠ· `PyInstaller.utils.hooks` ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° simpleModel.spec.
```
pyinstaller simpleModel.spec
```
Π‘ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΈ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²Π΅ΡΡΠΈΡ TensorFlow.
## ΠΡΠ²ΠΎΠ΄:
PyInstaller ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Python-ΡΠΊΡΠΈΠΏΡΠΎΠ²:
- ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ Π±Π°Π½Π΄Π» Π²ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° `--add-data`.
- ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `--onefile` ΠΈΠ»ΠΈ `--onedir` ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ `hidden-imports`.
- Π€Π°ΠΉΠ» spec ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΊΡΡΡΡΡ
ΠΈΠΌΠΏΠΎΡΡΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ρ
ΡΠΊΠΎΠ².
[Facebook](https://www.facebook.com/sharer.php?u=https%3A%2F%2Fpythonru.com%2Fbiblioteki%2Fpyinstaller)
[Telegram](https://telegram.me/share/url?url=https://pythonru.com/biblioteki/pyinstaller&text=%D0%9A%D0%B0%D0%BA%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C%20exe%20%D1%84%D0%B0%D0%B9%D0%BB%20%D0%B4%D0%BB%D1%8F%20Python%20%D0%BA%D0%BE%D0%B4%D0%B0%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20PyInstaller)
[Twitter](https://twitter.com/intent/tweet?text=%D0%9A%D0%B0%D0%BA+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C+exe+%D1%84%D0%B0%D0%B9%D0%BB+%D0%B4%D0%BB%D1%8F+Python+%D0%BA%D0%BE%D0%B4%D0%B0+%D1%81+%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E+PyInstaller&url=https%3A%2F%2Fpythonru.com%2Fbiblioteki%2Fpyinstaller&via=PythonRu)
[VK](https://vk.com/share.php?url=https://pythonru.com/biblioteki/pyinstaller)
[WhatsApp](<whatsapp://send?text=ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ exe ΡΠ°ΠΉΠ» Π΄Π»Ρ Python ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller %0A%0A https://pythonru.com/biblioteki/pyinstaller>)
[Viber](<viber://forward?text=ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ exe ΡΠ°ΠΉΠ» Π΄Π»Ρ Python ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller https://pythonru.com/biblioteki/pyinstaller>)
ΠΠ°ΠΊΡΠΈΠΌ
Π― ΡΠΎΠ·Π΄Π°Π» ΡΡΠΎΡ Π±Π»ΠΎΠ³ Π² 2018 Π³ΠΎΠ΄Ρ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΠΎΠΊΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ. ΠΠ° ΡΠ°ΠΉΡΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΠΌ python ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ, ΡΡΠΎΠΊΠΎΠ² Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠΎΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ: [ΠΠΎΡΡΠ°](mailto:admin@pythonru.com "ΠΠΎΡΡΠ°")
Python Q <https://yandex.ru/q/loves/python> Online
Python QCEO Pythonruadmin@pythonru.comhttps://secure.gravatar.com/avatar/b16f253879f7349f64830c64d1da4415?s=96\&d=mm\&r=gCEO PythonruPythonΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡΠ Π΅Π΄Π°ΠΊΡΠΎΡ<https://t.me/cashncarry><https://pythonru.com/><https://yandex.ru/q/profile/cashnc/>PythonRu.com


admin@pythonru.comAlex Zabrodin2018-10-26OnlinePython, Programming, HTML, CSS, JavaScript


#### Π‘ΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
[](https://pythonru.com/biblioteki/tsvetnoj-vyvod-teksta-v-python-colorama "Π¦Π²Π΅ΡΠ½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ° Π² Python: Colorama")
### [Π¦Π²Π΅ΡΠ½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ° Π² Python: Colorama](https://pythonru.com/biblioteki/tsvetnoj-vyvod-teksta-v-python-colorama "Π¦Π²Π΅ΡΠ½ΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ° Π² Python: Colorama")
[](https://pythonru.com/biblioteki/pyspark-dlja-nachinajushhih "Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ PySpark Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
")
### [Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ PySpark Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
](https://pythonru.com/biblioteki/pyspark-dlja-nachinajushhih "Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ PySpark Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
")
[](https://pythonru.com/biblioteki/gensim "ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Gensim Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
")
### [ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Gensim Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
](https://pythonru.com/biblioteki/gensim "ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Gensim Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
")
[](https://pythonru.com/biblioteki/crud-sqlalchemy-orm "CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² SQLAlchemy ORM")
### [CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² SQLAlchemy ORM](https://pythonru.com/biblioteki/crud-sqlalchemy-orm "CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² SQLAlchemy ORM")
[](https://pythonru.com/biblioteki/shemy-v-sqlalchemy-orm "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡ
Π΅ΠΌΡ Π² SQLAlchemy ORM")
### [Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡ
Π΅ΠΌΡ Π² SQLAlchemy ORM](https://pythonru.com/biblioteki/shemy-v-sqlalchemy-orm "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡ
Π΅ΠΌΡ Π² SQLAlchemy ORM")
[](https://pythonru.com/biblioteki/crud-sqlalchemy-core "CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQLAlchemy Core")
### [CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQLAlchemy Core](https://pythonru.com/biblioteki/crud-sqlalchemy-core "CRUD-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQLAlchemy Core")
#### Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller](https://pythonru.com/biblioteki/pyinstaller#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-PyInstaller "Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° PyInstaller")
- [Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ exe ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller](https://pythonru.com/biblioteki/pyinstaller#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-exe-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-PyInstaller "Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ exe ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ PyInstaller")
- [ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ exe-ΡΠ°ΠΉΠ»ΠΎΠΌ](https://pythonru.com/biblioteki/pyinstaller#%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D1%81-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D0%B1%D1%83%D0%B4%D1%83%D1%82-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F-exe-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%BC "ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ exe-ΡΠ°ΠΉΠ»ΠΎΠΌ")
- [ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ onefile](https://pythonru.com/biblioteki/pyinstaller#%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2-%D1%81-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8-%D0%B8-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80-onefile "ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ onefile")
- [ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Hidden Imports](https://pythonru.com/biblioteki/pyinstaller#%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D1%8B-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-Hidden-Imports "ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Hidden Imports")
- [Π€Π°ΠΉΠ» spec](https://pythonru.com/biblioteki/pyinstaller#%D0%A4%D0%B0%D0%B9%D0%BB-spec "Π€Π°ΠΉΠ» spec")
- [Π₯ΡΠΊΠΈ](https://pythonru.com/biblioteki/pyinstaller#%D0%A5%D1%83%D0%BA%D0%B8 "Π₯ΡΠΊΠΈ")
- [ΠΡΠ²ΠΎΠ΄:](https://pythonru.com/biblioteki/pyinstaller#%D0%92%D1%8B%D0%B2%D0%BE%D0%B4 "ΠΡΠ²ΠΎΠ΄:")
#### ΠΠΎΠ²ΠΎΠ΅ Π² Π±Π»ΠΎΠ³Π΅
- [ΠΠ°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠΈΡΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python](https://pythonru.com/primery/nahozhdenie-delitelej-chisla-s-pomoshhju-python)
- [ΠΡΠΌΠ±Π΄Π°-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Python](https://pythonru.com/osnovy/ljambda-funkcii-i-anonimnye-funkcii-v-python)
- [ΠΠΎΠ³Π΄Π° ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ yield Π²ΠΌΠ΅ΡΡΠΎ return Π² Python](https://pythonru.com/osnovy/kogda-stoit-ispolzovat-yield-vmesto-return-v-python)
- [ΠΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΊΡΠ±ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΡΠ΅Π½Ρ Π² Python](https://pythonru.com/osnovy/kak-izvlech-kubicheskij-koren-v-python)
- [Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅](https://pythonru.com/o-proekte)
- [ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ](https://pythonru.com/politika-konfidencialnosti)
- [ΠΡΠ°Π²ΠΎΠΎΠ±Π»Π°Π΄Π°ΡΠ΅Π»ΡΠΌ](https://pythonru.com/pravoobladateljam)
- [ΠΠΎΠ½ΡΠ°ΠΊΡΡ](https://pythonru.com/kontakty)
- [Π₯ΠΎΡΡΠΈΠ½Π³β²](https://pythonru.com/go/reg-ru)
Β© PythonRu 2018-2021 β ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠ³ ΠΎ Python |
| Readable Markdown | null |
| Shard | 133 (laksa) |
| Root Hash | 11148520142196069133 |
| Unparsed URL | com,pythonru!/biblioteki/pyinstaller s443 |