I'm trying to use specific helper methods from another python file in my Blender addon. Although both my files "__init__.py" and "helpers.py" are located in the same directory, I keep getting a ModuleNotFoundError: No module named 'helpers'
.
# __init__.py
import bpy
from helpers import my_register, my_unregister
def register():
my_register()
def unregister():
my_unregister()
if __name__ == "__main__":
register()
I could work around this error by replacing from helpers import ...
with from . import helpers
, but then I'd have to use a prefix like helpers.my_register()
. This gets especially ugly when using decorators:
from bpy.app import handlers
from . import helpers
@helpers.eventhandler(handlers.frame_change_pre)
def on_frame_change_pre(dummy):
...
@helpers.eventhandler(handlers.frame_change_post)
def on_frame_change_post(dummy):
...
Is it possible to make from {local file} import *
work in a Blender addon?