Моя программа на Python использует плагины (файлы Python), которые я динамически импортирую, используя __import__
.
Я связываю свою программу на Python в Windows exe, используя py2exe.
Я просто потратил 2 часа на поиск, почему мой файл Python плагина не мог быть загружен должным образом из версии .exe. Я получил ImportError: «нет модуля с именем urllib2»
Оказалось, что мой плагин использовал urllib2 (через оператор import urllib2
), и этот стандартный модуль библиотеки, по-видимому, не был включен в exe. Другие модули, используемые в плагине (re
, urllib
, ...), не создавали проблем, но, возможно, они уже были ссылками в файлах python, которые я статически включаю в свою программу.
Как узнать, какие стандартные модули библиотеки Python py2exe по умолчанию связывает в exe? (поэтому я знаю, могу ли я или кто-то еще использовать их в плагинах). Документация py2exe не дает подсказок, за исключением , говорящего , что он включает в себя множество модулей из стандартной библиотеки.