@Sancho_Pansa

Почему после сборки exe-файла через Pyinstaller приложение не читает config.ini?

Я сделал телеграм-бота через aiogram. Весь код для него лежит в одном файле - parser.py, также используется конфигурационный файл config.ini. Все файлы лежат в одной папке. Через интерпретатор Python всё прекрасно работает. Но если создать exe-файл через pyinstaller (pyinstaller —onefile parser.py), то вылетает такая ошибка, как на скриншоте. То есть, как я понял, почему-то не получается прочитать конфиг. Не подскажете, пожалуйста, в чём может быть проблема?

Скриншот ошибки:
62c9965387a14168378010.jpeg

Файл config.ini:
token = 1111111111111
id_channel = 1111111111
id_channel_stat = 111111111111111
id_user = 1111111111111111111

Участок кода в parser.py, где происходит взаимодействие с config.ini:
path = '/'.join((os.path.abspath(__file__).replace('\\', '/')).split('/')[:-1])
config.read(os.path.join(path, "config.ini"), encoding='utf-8')

token = config['Settings']['token']
id_channel = config['Settings']['id_channel']
id_channel_stat = config['Settings']['id_channel_stat']
id_user = config['Settings']['id_user']
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Потому что при запуске такого exe происходит распаковка скрипта и интерпретатора во временный каталог и запуск их оттуда. Так что переменная path указывает не туда, куда вы ожидаете, конфига там нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
пути
влепи относительный и проверь
ли научись делать корректно абсолютный
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы