Komodo Dragon Procedural Rig


#1

Hi all,

I have been following a procedural rigging course on Pluralsight (komodo Dragon). In order to follow the course in parellel, I have installed Eclipse IDE.

Here is my code:
import sys

for p in sys.path:
print p

rigDir = ‘C:/Users/Gavin/Documents/Libraries/code/python’

if not rigDir in sys.path:
sys.path.append(rigDir)

import rigLib

c = rigLib.base.control.Control() ## causing an error
I’m getting this error:

Error: line 1: AttributeError: file line 1: ‘module’ object has no attribute ‘base’

I’m trying to access the Control() class and the project setup is like this:

C:\Users\Gavin\Documents\Libraries\code\python\rigLib

The rigLib has subfolders with ‘base’ being one of them and that’s the one that has the Control () class which I’m trying to access but unfortunately unable to, due to the error.

I would be really grateful if someone could reach out with some ideas of how to sort out this error.

Many thanks
Gavin


#2

Does your “base” directory have an “init.py” file in it? Python will only search subfolders for modules of paths it already has access to if it contains the init file. You can just create an empty doc and name it “init.py”.


#3

Thanks for coming back to me, all of my folders have init.py. My project setup is as follows:

Libraries - subfolders - assets and code

code (subfolder) - python folder - komodo_ rig and rigLib

rigLib - subfolders - base, rig and utils

all of those subfolders contain init files with imports included as seen in the tutorial. My maya version is 2014 and the python i’m using is 3.8.3

rigLib - init.py - import base, import rig, import utils

base - init.py - import control, import module

rig - init.py - import spine, import neck, import ikChain, import leg, import headparts

utils - init.py - import name, import joint, import transform

Not sure what else to check for

Many thanks again
Gavin


#4

from rigLib import base
reload(base)