Ошибка «Модуль не найден» после выполнения exe-файла, сгенерированного с помощью Pyinstaller

#python #pyinstaller #executable

#python #pyinstaller #исполняемый файл

Вопрос:

У меня такая структура проекта

 ab_folder
    ---ab.py
    ---abc.py
ab_report
    ---ab_report.py
    ---utils.py
  

Мой основной файл находится ab.py в папке ab_folder, которая использует abc.py file, плюс он также импортирует ab_report.py файл из папки ab_report. Я использую следующий код в ab.py для переключения и метода импорта папки ab_report

 import sys
sys.path.insert(0, "../ab_report")
from ab_report import PDFRepoort
  

В настоящее время я генерирую EXE-файлы моего ab.py файла (который является моим основным файлом) с помощью pyinstaller.
При чтении документов pyinstaller я понимаю, что мы должны указать каталог через --paths аргументы, если наш код изменится sys.path .

ИТАК, мой текущий каталог — это ab_folder и в этом каталоге я открыл свою консоль и выполнил следующую строку для создания ab.spec файла

 pyi-makespec --paths=C:UsersabcDesktopDeploy_Exe_Testab_report ab.py
  

После этого я выполняю pyinstaller ab.py команду для генерации exe-файла в папке dist, но когда я запускаю этот exe-файл, я получаю сообщение об ошибке, которое

No module named ab_report

Я думаю, что мои проблемы, возможно, заключаются в указании параметра path. Ищу ценные предложения и помощь. Также, насколько этот сгенерированный exe-файл будет защищен (трудно отменить)?

Моя версия python — 3.6.6