ошибка при включении "shape_predictor_68_face_landmarks.dat" при конвертации с использованием pyinstaller в macos - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть код, использующий модуль dlib в python, две строки в коде:

predictor_path = "./shape_predictor_68_face_landmarks.dat"
predictor = dlib.shape_predictor(predictor_path)

весь код работает нормально в интерпретаторе python.Когда я пытаюсь преобразовать его в исполняемый файл с помощью pyinstaller, я помещаю имя файла "shape_predictor_68_face_landmarks.dat" в поле данных файла .spec, т.е.

a = Analysis(...
             binaries=[],
             datas=[("./shape_predictor_68_face_landmarks.dat", ".")]
             ...)

Процесс завершается без каких-либо ошибок.Файл .dat также включается в папку.Но когда я запускаю исполняемый файл, он показывает ошибку

RuntimeError: Unable to open ./shape_predictor_68_face_landmarks.dat
[928] Failed to execute script new_run
...

Если я помещаю этот файл .dat в поле binaries в файле .spec, он показывает ошибку во время преобразования -

ValueError: Unknown Mach-O header: 0x01018188 in <_io.BufferedReader 
name='/Users/mac/Library/Application 
Support/pyinstaller/bincache00_py37_64bit/shape_predictor_68_face_landmarks.dat'>

IЯ использую MacOS, и Python 3.6 весь код работает нормально в интерпретаторе Python, но эта проблема возникает во время преобразования.Как решить эту проблему?

...