
עריכה ראיתי שמאוד קשה לקרוא את הצילום מסך אז הוספתי את זה
הטמעה (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 os
def 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 או אחר)
אילו תיקיות של מדיה יש (תמונות, סאונד, וידאו וכו')
ואני אחזיר לך בדיוק את הפקודה והקוד.