Я создал веб-сервер Tornado, который мне нужно упаковать как яйцо (используя setuptools)
Проект содержит несколько html-шаблонов и статических изображений, которые я включил в свое яйцо в виде файлов данных. Обратите внимание, что яйцо является исполняемым и не будет установлено. Т.е.
python mytornadoserver.egg
Стандартный способ доступа к html-шаблонам/статическим ресурсам - использовать параметры template_path и static_path. Однако внутри яйца это не сработает.
Я пытаюсь играть с resource_strings, но пока ничего не добился.
Я застрял в данный момент, потому что я не могу загрузить файлы html/image, поэтому я был бы благодарен за любую помощь/советы, которые могут дать любой
Большое спасибо, Маркус
наконец, решила проблему:
from pkg_resources import resource_filename
template_dir = resource_filename(__name__, "templates")
# then assign the template_dir to your template_path as normal....
resource_files извлекает весь каталог в физическое местоположение файла и возвращает это местоположение.
/usr/local/.../myprogram-egg-info/templates
но проблема в том, чтоmyprogram-egg-info
представляет собой файл egg, а не каталог. Я думаю, что мне нужен способ принудительного извлечения яйца перед вызовом resource_filename (или, лучше, установить программу в каталог вместо файла яйца ...)