характеристики моей системы:
- Mac OSX Mojave (10.14.15)
- Python 3.7.4 (python.org)
- Подушка 6.1.0
- py2app 0.19
- махолиб 1.11
У меня были те же проблемы, что и у вас. Причина сбоя в том, что библиотека неправильно скомпилирована. Я выяснил два решения.
В моей системе библиотека расположена по адресу: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PIL/.dylibs/
Если вы не используете управление цветом в своем проекте, вы можете удалить библиотеку "liblcms2.2.dylib". Теперь вы можете запустить py2app, и он будет собираться.
Второе решение - больше работы и то, как я использую его в своем проекте.
Во-первых, вам нужен Xcode, потому что мы должны перекомпилировать библиотеку "littlecms".
XCode составляет около 6 ГБ, и вы получаете его из Apple Appstore. На моей системе установлена версия 10.2.1.
Скачать библиотеку littlecms в версии 2.2: https://www.littlecms.com/
Вы будете перенаправлены на SourceForge:
https://sourceforge.net/projects/lcms/files/lcms/2.2/
Загрузите один из этих файлов: lcms2-2.2.zip или lcms2-2.2.tar.gz и распакуйте его в своей системе.
Исходный код библиотеки поставляется с файлом проекта Xcode, который вы найдете в Projects / mac.
Если вы знакомы с терминалом, вы можете создать его без графического интерфейса Xcode. В этом случае перейдите в извлеченную папку littlecms и введите следующие команды.
- . / Configure
- сделать
- сделать проверку
Если последняя команда (make check) работает нормально, библиотека готова к развертыванию.
Вы найдете скомпилированную библиотеку в папке: src / .libs /.
Замените библиотеку, которая входит в пакет PIL, вашей скомпилированной библиотекой.
Наконец, запустите py2app, чтобы построить свой проект.
Если это не работает, вы должны указать компоновщику флаг.
Перейдите в исходную папку littlecms и введите команды:
- сделать чистым
- . / Configure LDFLAGS = "- headerpad_max_install_names"
- сделать
- сделать чек
Замените скомпилированную библиотеку на PIL.
так долго,
Phil