170 похожих чатов

Хм... Я понимаю, что человек мудрит, но почему обычная система

плагинов у всех такое удивление вызывает?

17 ответов

9 просмотров

У меня вызвало удивление, что он хочет из директории загружать плагин. Тогда непонятно, что делать с его зависимостями

evle- Автор вопроса
Pavel Павлик
У меня вызвало удивление, что он хочет из директор...

Ну, смотря что за приложение. Там может быть что-то тривиальное, где не ожидается внешних зависимостей и сделать один файл проще чем городить систему пакетов.

evle
Ну, смотря что за приложение. Там может быть что-т...

Так там городить ничего и не надо, все же очень просто. На самом деле, импортировать файл по определенному пути, не затрагивая PYTHONPATH довольно нетривиальная задача. Намного проще просто взять и сделать уже пакеты, что будет еще и намного более расширяемым решением

Zart
максимально тривиальная

Как по мне, spec = importlib.util.spec_from_file_location('custom_ext', './custom_ext/__init__.py') module = importlib.util.module_from_spec(spec) sys.modules['custom_ext'] = module spec.loader.exec_module(module) выглядит не просто

evle- Автор вопроса
Pavel Павлик
Так там городить ничего и не надо, все же очень пр...

Распространять потом плагины как будешь? Объяснять пользователю процесс установки вместо того чтобы "положи файл с плагином в папку". Да и что тут такого уж нетривиального, когда всё известно?

Pavel Павлик
Как по мне, spec = importlib.util.spec_from_file_...

ну если ты хочешь ходить сложным путем, кто тебя остановит...

Zart
ну если ты хочешь ходить сложным путем, кто тебя о...

Ну, покажи, как простым путем взять и импортировать файл по определенному пути, не затрагивая PYTHONPATH

evle
Распространять потом плагины как будешь? Объяснять...

Плагины можно устанавливать пипом, в том числе и из файла. Вероятно, это может быть легче, чем в файл положить. Ну, и ничего не мешает класть зип, а потом при старте устанавливать их

Zart
ну если ты хочешь ходить сложным путем, кто тебя о...

Кстати, я это не сам придумал, а взял где-то из официальной документации

evle- Автор вопроса
Pavel Павлик
Ну, покажи, как простым путем взять и импортироват...

У нас само приложение уже в PYTHON_PATH. И где plugins вполне внутри приложения живёт. В простейшем случае этого достаточно чтобы делать в духе import_module(f"plugins.{file_name}") До всякого фен шуя вроде https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/ может просто дело не дойти.

evle
У нас само приложение уже в PYTHON_PATH. И где plu...

Ну, как бы можно, но я думаю, что вариант с энтри поинтами совсем не сложный и гораздо более правильный

evle
У нас само приложение уже в PYTHON_PATH. И где plu...

там нет подчеркивания. и нет, не уже но запилить свой питонпатх из описанного тобой - дело пары строк кода

evle- Автор вопроса
Pavel Павлик
Ну, как бы можно, но я думаю, что вариант с энтри ...

Ещё раз. Подумай о пользователе приложения. Представь что это что-то для простых человаков. Ты им будешь инструкцию с pip install писать?

evle- Автор вопроса
evle
Ещё раз. Подумай о пользователе приложения. Предст...

Если нужна простота для пользователей, то они могут класть зипы, а ты просто их будешь добавишь их в PYTHONPATH и будешь импортить

Pavel Павлик
Если нужна простота для пользователей, то они могу...

Я вижу тут единственную проблему, что удаление плагинов не будет удалять ненужные зависимости

Похожие вопросы

Обсуждают сегодня

тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
читать файл максимально быстро? странный вопрос))
zamtmn
53
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
Карта сайта