Pyinstaller Exe, запущенный через другой exe, работает не с нужной директории
В общем и целом, у меня есть exe, собранный через pyinstaller одним файлом. Данный питоновский exe файл запускается "лаунчером"(другой exe), который расположен отдельно от скрипта. Сам скрипт на питоне содержит в себе работу с файлами, которые лежат вместе с ним в директории. Но при запуске через лаунчер, скрипт думает, что он находится в директории самого лаунчера, а не там, где лежит. Мне нужно чтобы запущенный pyinstaller exe работал именно из той папки, где он находится при запуске из под лаунчера
Ответы (1 шт):
Немного муторно описана проблема, заранее прошу прощения если неправильно понял. Вам необходимо изменить текущий каталог для запущенного скрипта (каталог, в котором будет работать скрипт).
Например у меня есть /home/arise/py/test.py
test.py
import os
import sys
if __name__ == '__main__':
print("Current Working Directory " , os.getcwd())
my_path=os.path.dirname(os.path.realpath(sys.argv[0]))
print("Script Location: ",my_path)
print("change working dir....")
os.chdir(my_path)
print("New Working Directory " , os.getcwd())
и я его запускаю из /home/arise
скрипт изменяет рабочий каталог на тот, в котором собственно находится:
arise@arise-desktop:~$ python3 ./py/test.py
Current Working Directory /home/arise
Script Location: /home/arise/py
change working dir....
New Working Directory /home/arise/py