What is sys._MEIPASS in Python What is sys._MEIPASS in Python python-3.x python-3.x

What is sys._MEIPASS in Python


sys._MEIPASS is a temporary folder for PyInstaller. See this question for more information.


This is the path attribution created by pyinstaller, it is quite useful when you have some resource files (like .bmp .png) to load in your python one-file-bundled app.

When a bundled app starts up, the bootloader sets the sys.frozenattribute and stores the absolute path to the bundle folder insys._MEIPASS. For a one-folder bundle, this is the path to thatfolder. For a one-file bundle, this is the path to the temporaryfolder created by the bootloader.

a typical use would be:

from pathlib import Pathimport sysif getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):    bundle_dir = Path(sys._MEIPASS)else:    bundle_dir = Path(__file__).parentpath_to_dat = Path.cwd() / bundle_dir / "other-file.dat"

You may want to check details here:https://pyinstaller.readthedocs.io/en/stable/runtime-information.html


If you want to disable the error Lint gives you in your editor (Eclipse, MS-Code, ...) add the following comment at end of your line:

if getattr(sys, 'frozen', False): # Running as compiled        running_dir = sys._MEIPASS + "/files/" # pylint: disable=no-member

The solution was from here if you want to disable a single line of code, not all errors of a kind.