Python скрипт после упаковки pyinstaller перестаёт обрабатывать кириллицу в путях файлов

Простой скрипт работает, когда запускаю его через командную строку. Но после упаковки его в exe с помощью pyinstaller он перестаёт воспринимать кириллицу в пути к файлу/папке. Если убрать кириллицу, то отрабатывает как должен.

Вот часть кода, которая не работает:

# coding=utf-8
import io, csv

exp_list = [
    ['Date','Title','Base Point Id','BP X','BP Y','BP Z','Survey Point Id','SP X','SP Y','SP Z'],
    ['Date','Title','Base Point Id','BP X','BP Y','BP Z','Survey Point Id','SP X','SP Y','SP Z'],
    ['Date','Title','Base Point Id','BP X','BP Y','BP Z','Survey Point Id','SP X','SP Y','SP Z']
    ]

path_csv =r'C:\Евгений\2022 Работа\202212\20221219 тест\1_Document.csv'
try:
    with io.open(path_csv, 'w', encoding='utf8') as file_w:
        file_w_writer = csv.writer(file_w, delimiter=';', lineterminator='\n')
        for row in exp_list:
            file_w_writer.writerow(row)
except Exception as e:
    print(str(e))

print('Done')
input('>')

Ошибка:

[Errno 13] Permission denied: 'C:\\Евгений\\2022 Работа\\202212\\20221219 тест\\1_Document.csv'

Пробовал:

  • менял слэши \ на /;
  • проверял переменные path;
  • переустанавливал pyinstaller и python;
  • настраивал кодировку в windows;
  • менял путь, чтобы кириллицы не было (это работает, но кириллица в пути будет);
  • паковал без флагов, и в один exe файл (-F).

Пожалуйста, подскажите как обрабатывать кириллицу в пути файлов/папок, чтобы после упаковки работало?

Windows 10 x64, Python 3.11.0, pyinstaller 5.7.0

upd1:

  • запускал от имени администратора.

Ответы (1 шт):

Автор решения: eri

'C:\Евгений\2022 Работа\202212\20221219 тест\' папка существует на том компьютере где это запускаете?

Скорее всего этой папки нет или опечатка.

→ Ссылка