У меня есть приложение 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?