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.
3 Answers
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 insys._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
if getattr(sys, 'frozen', False) and hasattr(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

- 171
- 2
- 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:
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.

- 4,534
- 3
- 37
- 32
-
`# pylint: disable=protected-access` for me with Pylint 2.15.7 – gratz Dec 01 '22 at 17:34