Suppose I have 2 modules - one has been obfuscated by PyArmor. The other imports the obfuscated module and uses it:

```
# obfuscated.py
def run_task(conn):
    conn.send_msg("Here you go")
    print(conn.some_val + 55)
    return 0

```

```
# Non obfuscated (user) code
import importlib.util

class conn:
    some_val = 5

    def send_msg(msg):
        print(msg)

def main():
    # import obfuscated # This works...but I need to dynamically load it:

    # This does not:
    spec = importlib.util.spec_from_file_location("module.name", r'c:\Users\me\obfuscated.py')
    obfuscated = importlib.util.module_from_spec(spec)
    spec.loader.exec_module(swdl)
    ret = obfuscated.run_task(conn)
    print("from main: ", ret)

if __name__ == "__main__":
    main()

```

If I import the obfuscated file using `import` it is fine. But I need to use `importlib` to dynamically import the obfuscated file. The importlib does not work - I get:

```
AttributeError: module 'module.name' has no attribute 'obfuscated'

```

The idea is that the user can write a script using the API available within `obfuscated.py` but need to load the module from wherever it resides on their system.

Is there anyway to achieve this?