У меня есть приложение pyobjc, работающее только в 32-битной сборке python, использующей библиотеку gevent. Все отлично работает в режиме псевдонимов py2app, но как только я соберу комплект приложений, модуль gevent не сможет найти библиотеку httplib, даже если он был связан с каталогом site-packages.
File "gevent/monkey.pyo", line 182, in patch_httplib
File "gevent/httplib.pyo", line 8, in <module>
ImportError: No module named httplib
Я попытался импортировать ложно, как было предложено (даже если модуль, кажется, был упакован), но безрезультатно. Он может найти модуль gevent.httplib, но не тот модуль, который предполагается установить. может ли это быть проблемой с функцией исправления обезьян?
РЕДАКТИРОВАТЬ: похоже, что find_module не работает должным образом с моим пакетом py2app. Есть ли обходной путь к этому? Я не думаю, что это проблема с точечными модулями, так как httplib не точечный (это часть основных библиотек Python)
РЕДАКТИРОВАТЬ 2: так что это определенно imp.find_module. Использование import ('httplib') вместо load_module исправляет это, но я должен был удалить ссылку на 'httplib' в sys.modules, потому что он не может исправить патч, если он уже загружен. Я не думаю, что это правильный способ сделать это, хотя встроенный пакет приложений работает правильно (теперь httplib пропатчен обезьяной и позволяет инициализировать с HTTPSConnection). Есть ли какое-нибудь решение этой проблемы с py2app?