Я создал приложение на Python, которое проверено и отлично работает на моем компьютере (Mac OSX 10.8.3 Python2.7.3 Postgresql9.2.4 Psycopg2-2.5). Приложение скомпилировано с помощью py2app, и я вижу, что сборка успешно включала все пакеты/модули в папку содержимого приложения.Проблемы с развертыванием приложения Psycopg2 Python
Psycopg2 правильно импортирует мою машину, и приложение работает нормально, но когда приложение запускается на другом компьютере (я пробовал 4 разных компьютера ...), он не открывается, и консольное сообщение считывает ImportError: dlopen (/Applications/app.app/Contents/Resources/lib/python2.7/psycopg2/_psycopg.so, 2): библиотека не загружена: libpq.5.dylib
Я искал и модифицировал свой код широко через SO и Google безрезультатно. Ссылки psycopg2 также специально не затрагивают эту проблему. http://initd.org/psycopg/articles/2010/11/11/links-about-building-psycopg-mac-os-x/
Я удалил и переустановил psycopg2 & PostGreSQL много раз, строй из источника, MacPorts, самогона и т.д. Моя текущая среда перечисленная выше, с PostgreSQL 9.2.4 с установленным доморощенным и psycopg2-2.5 устанавливается из источника при явно связывая расположение pg_config в setup.cfg
Когда я запускаю otool -l на _psycopg.so, я получаю следующее
/usr/lib/libpq.5.dylib (compatibility version 5.0.0, current version 5.4.0)
/usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 47.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
Как включить мое встроенное приложение (или указать целевой пользователь файлы, если есть) эти файлы? Это правильный подход? Py2app, конечно, не будет включать системные файлы из/usr/lib/в опции «frameworks».
Рональд - спасибо за четкую артикуляцию. Я понимаю свою ошибку. Теперь моя сборка приложений включает в себя инфраструктуру libpq и правильно связана с дистрибутируемым. Дополнительные файлы dylib прекрасны, как в/usr/lib – LouisL