בירור | אחרי שכתבתי סקריפט ואני רוצה לייצא את זה לקובץ רגיל איך עושים זאת
-
@תותחוביץ לא יודע אני ממש מתחיל בתחום הזה אבל שאלתי את gpt וזה מה שהוא ענה לי
עריכה ראיתי שמאוד קשה לקרוא את הצילום מסך אז הוספתי את זה
הטמעה (embedding) של קבצים בתוך קובץ ה-EXE
כשאתה יוצר קובץ exe בעזרת PyInstaller או כלי דומה – אפשר להכניס לתוכו גם תמונות, סאונדים ושאר קבצים כך שלא תצטרך להחזיק תיקיות נפרדות.איך עושים את זה עם PyInstaller:
- השתמש בפקודה הבאה ליצירת קובץ EXE:
pyinstaller --onefile --add-data "images/logo.png;images" --add-data "sounds/click.wav;sounds" main.py
הסבר:
--onefile = יוצר קובץ exe יחיד.--add-data = מוסיף קבצים לקובץ ה־exe.
הפורמט: "נתיב_לקובץ;נתיב_יעד_בתוך_EXE"
אם אתה על Windows: השתמש ב-; (סימן נקודה-פסיק)
אם אתה על Mac/Linux: השתמש ב-: (סימן נקודתיים)
לדוגמה:
--add-data "assets/bg.jpg;assets"
--add-data "audio/music.mp3;audio"
2. בתוך הקוד שלך – גש לקבצים עם sys._MEIPASS:import sys
import osdef resource_path(relative_path):
try:
base_path = sys._MEIPASS # כשמריצים EXE
except AttributeError:
base_path = os.path.abspath(".") # כשמריצים רגיל מ-Python
return os.path.join(base_path, relative_path)
ואז תשתמש בזה ככה:
image_path = resource_path("images/logo.png")
sound_path = resource_path("sounds/click.wav")
טיפ נוסף:
אם יש לך הרבה קבצים בתיקייה, אתה יכול להוסיף תיקייה שלמה:--add-data "images;images"
--add-data "sounds;sounds"
רוצה שאעזור לך לבנות את הפקודה המדויקת לקבצים שלך? תשלח לי:את שם הקובץ הראשי (main.py או אחר)
אילו תיקיות של מדיה יש (תמונות, סאונד, וידאו וכו')
ואני אחזיר לך בדיוק את הפקודה והקוד.
-
@יוסף-אלחנן מה זה מוסיף לי הקמפול השני?