Это больше, чем один вопрос!
Неважно.
- Когда вы создаете приложение с помощью интерпретатора Python, предоставленного Apple, вы получаете полуавтономное приложение.
Когда такое приложение запускается, оно запускает встроенный Python от Apple и использует его стандартную библиотеку.
Любой нестандартный модуль должен быть включен, но часто возникают проблемы.
- Когда вы устанавливаете свой Python с python.org и все дополнительные библиотеки в него, вы продолжаете создавать приложение с его помощью вместо сборки Python от Apple,
затем упаковывается весь интерпретатор вместе со стандартной библиотекой и всем, что вы импортировали.
Это часто работает как шарм, хотя позволяет создавать гораздо более крупные приложения. Но теперь, дни, это не такая уж катастрофа.
Как это работает? py2app, py2exe и аналогичные инструменты проверяют дерево кода Python на наличие операторов импорта.
Затем все найденные зависимости включаются в пакет.
Проблемной частью является динамический импорт, использующий функцию import () или reload (). Для таких модулей вы должны специально указать py2app упаковать их.
Иногда достаточно добавить к нему статический импорт в вашем приложении, например:
if 0:
import site
OpenCV, хм, желаю удачи! Иногда он приносит живые кошмары, чтобы правильно связать свои пути с C ++, я надеюсь, что упаковка его в приложение вместе с Python сработает.
Я им не пользуюсь, поэтому не знаю, какие у вас проблемы.
Используйте /Applications/Utilities/Console.app, чтобы увидеть любые ошибки и обратные данные, отправленные на stderr / stdout после упаковки вашего приложения. Вы можете найти там полезную информацию.
Но я бы посоветовал вам скачать собственный интерпретатор Python и сделать полноценное автономное приложение. Это не имеет большого значения. Просто вызовите setup.py с ним вместо встроенного.
И поищите, что вам нужно добавить в свой setup.py, чтобы правильно упаковать OpenCV, если это является причиной вашей проблемы.
person
Dalen
schedule
20.12.2016