I've added debug print of sys.path to the abc.py and it indeed shovels in the local path even on the execution: ['/usr/lib64/libreoffice/program/../program', '', '/usr/lib/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload'] Fatal Python error: init_sys_streams: can't initialize sys standard streams Python runtime state: core initialized Traceback (most recent call last): File "/usr/lib64/python3.8/io.py", line 52, in <module> ['/usr/lib64/libreoffice/program/../program', '', '/usr/lib/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload'] File "/home/scarabeus/tmp/lotest/abc.py", line 3, in <module> ['/usr/lib64/libreoffice/program/../program', '', '/usr/lib/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload'] NameError: name 'hello' is not defined But if we comment out that $ORIGIN: scarabeus@letik: ~/tmp/lotest $ lowriter ['/usr/lib/python38.zip', '/usr/lib64/python3.8', '/usr/lib64/python3.8/lib-dynload'] it properly does not add '' yet it also does not see the /usr/lib64/libreoffice/program which is kinda limiting...