Я написал пользовательский загрузчик/импортер модуля Python, который имеет методы find_module и load_module. Я столкнулся с проблемой, когда хочу импортировать модуль Cherrypy.Параметры входных параметров Weird load_module
В
CherryPy/__ INIT __.py
имеет линии, такие как:
from cherrypy._cpcompat import urljoin
Когда я использую Python по умолчанию импортера, только добавив поддельную импортеру таких как:
class FakeImporter(object):
def find_module(self, module_name, path=None):
print module_name, path
return None
я получаю следующие вызовы:
find_module ('CherryPy')
find_module ('cherrypy.cherrypy')
find_module ('cherrypy._cpcompat')
Звуки нормальный. Но когда я использую свой собственный загрузчик, я получаю звонки:
find_module ('CherryPy')
find_module ('cherrypy.cherrypy')
find_module ('cherrypy.cherrypy._cpcompat')
Что может быть причиной этой проблемы? Я неправильно обрабатываю load_module («cherrypy.cherrypy»)? Я загружаю модуль из памяти, поэтому установите cherrypy. путь к [ 'CherryPy'], а также установить файл в 'CherryPy', погрузчик к моему погрузчиком, имени к 'CherryPy' и пакета к 'CherryPy'. Что-то не хватает?