Ошибка UnicodeDecodeError возникает, когда пытаетесь декодировать строку в неправильной кодировке. Возможные решения:
1. Указать правильную кодировку при открытии файла. Используйте аргумент encoding в функции open() для указания кодировки, например, open(filename, encoding='utf-8').
2. Обработать исключение UnicodeDecodeError. Вместо простого вызова exec(f.read()), оберните его в try-except блок и обработайте исключение, например, так:
```
try:
exec(f.read())
except UnicodeDecodeError:
# обработка ошибки
```
3. Убедиться, что файлы сохранены в правильной кодировке. Откройте каждый файл в текстовом редакторе и убедитесь, что они сохранены в одной и той же кодировке, например, UTF-8.
4. Проверить, что с переменными окружения не связана проблема. Если ваши файлы используют переменные окружения или импортируют другие модули, убедитесь, что они настроены правильно и не вызывают проблем с кодировкой.
5. Если все вышеперечисленные решения не помогли, вы можете попробовать использовать модуль codecs для явного указания кодировки при открытии файла в функции exec():
```
import codecs
with codecs.open(filename, 'r', encoding='utf-8') as f:
exec(f.read())
```
Выберите наиболее подходящее решение для вашей ситуации.