Мое приложение Python построено так, что некоторые функции доступны в виде плагинов.Архитектура плагинов в настоящее время очень проста: у меня есть папка / пакет плагинов, которая содержит некоторые модули Python.Я загружаю соответствующий плагин следующим образом:
plugin_name = blablabla
try:
module = __import__(plugin_name, fromlist='do_something')
except ImportError:
#some error handling ...
и затем выполняю:
try:
loans = module.do_something(id_t, pin_t)
except xxx:
# error handling
Я компилирую приложение в двоичный файл Windows, используя py2exe. Это прекрасно работает, за исключением того факта, что все плагины (и должны быть) включены в двоичный файл. Это не очень практично, поскольку для каждого нового плагина я должен перекомпилировать и выпустить новыйверсия моего приложения.Было бы лучше, если бы новый плагин (то есть файл python) мог быть скопирован в какую-либо папку плагинов приложения, и чтобы код Python в коде файла интерпретировался моим приложением на лету.
Каков наилучший подход для этого?
(хотя я прочитал каждую строку выбранного файла плагина и применил оператор exec
кэто. Но могут быть и лучшие способы ...)