Чтобы запретить PyInstaller создание файлов во временной папке, вы можете использовать опцию `--clean` при компиляции вашего кода. Это приведет к удалению временных файлов после завершения компиляции.
Чтобы сохранить временные файлы внутри исполняемого файла .exe, вы можете использовать опции `--onefile` и `--add-data`. Опция `--onefile` поможет объединить все файлы в одном исполняемом файле .exe, а опция `--add-data` поможет добавить файлы с относительными путями к исполняемому файлу.
Пример использования опций `--onefile` и `--add-data`:
```
pyinstaller --onefile --add-data "path/to/your/files;." your_script.py
```
Здесь `path/to/your/files` - это путь к папке, содержащей ваши файлы, которые должны быть включены в исполняемый файл, а `.` - путь внутри исполняемого файла, куда они будут скопированы.
Относительные пути в опции `--add-data` могут быть адаптированы под вашу структуру папок.
Чтобы отключить отображение консоли при запуске исполняемого файла .exe, вы можете использовать опцию `--noconsole`. Если она не срабатывает в вашем случае, вы можете попробовать добавить следующий код в начало вашего скрипта на Python:
```python
import sys
if hasattr(sys, 'frozen'):
import ctypes
ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0)
```
Он проверяет, запущен ли скрипт из исполняемого файла, и если да, то скрывает консольное окно.
Надеюсь, это поможет вам решить ваши проблемы с PyInstaller!