Skip to content Skip to sidebar Skip to footer

What Is Sys._meipass In Python

What is sys._MEIPASS. What is the value of this variable and it's use ? I was a looking one python script but when I ran it on eclipse(pydev). It showing error.

Solution 1:

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

Solution 2:

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.frozen attribute and stores the absolute path to the bundle folder in sys._MEIPASS. For a one-folder bundle, this is the path to that folder. For a one-file bundle, this is the path to the temporary folder created by the bootloader.

a typical use would be:

from pathlib import Path
import sys

ifgetattr(sys, 'frozen', False) andhasattr(sys, '_MEIPASS'):
    bundle_dir = Path(sys._MEIPASS)
else:
    bundle_dir = Path(__file__).parent

path_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

Solution 3:

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:

ifgetattr(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.

Post a Comment for "What Is Sys._meipass In Python"