I have a library I’m working on that is intended to be imported like import raycekar as rk and have its individual files referenced as rk.unit.whatever. This is the directory structure:
RayceKar |-raycekar | |-__init__.py | |-ui.py | |-env.py `-main.py
From within main.py, if I from raycekar import ui, I can access ui. If I want to import raycekar as rk, rk.ui raises an AttributeError unless the from a import b variation is used first.
How can I make it such that accessing attributes as rk.ui or rk.env works without having to perform a from raycekar import *?
I’m working with Python 3.8+
Advertisement
Answer
What did you write in your __init__.py file?
For me it worked by writing this in my __init__.py file:
from .ui import * from .env import *
But every additional file you add the raycekar directory you will have to manually import in your __init__.py just as shown before.
I hope this helps.