python - ImportError using imp.find_module from subdirectory -
i have project:
main |---src.py |---frame_select.py |-----shellsdir |---script_select.py |------scriptsdir |---test.py
main has script passes arguments frame_select.py
looks inside shelldir
appropriate script based on argument passed. returns , using:
import imp, sys sys.path.insert(0, '/path/to/shellsdir/') def module_import(mod_name): fp, p, d = imp.find_module(mod_name) py_mod = imp.load_module(mod_name, fp, p, d) def pick(value, window): if value == 'name_passed': c_mod = module_import('specific_name') c_mod.populate(window)
there 16 scripts in shellsdir
picks based on passed argument script load while looking in shellsdir
. within shellsdir
directory called scriptsdir
, file script_selector
. file looks this:
import imp, sys sys.path.insert(0, '/path/to/scriptsdir/') def module_import(mod_name): fp, p, d = imp.find_module(mod_name) py_mod = imp.load_module(mod_name, fp, p, d)
essentially reusing code, pointing @ scriptsdir
program pass argument module_import()
function. however, not getting importerror: no module named 'name_passed'
.
i've done print sys.path
, /path/to/shellsdir/
, /path/to/scriptsdir
both there. module name matches, not sure why error.
for frame_select.py: updated relative path src.py
file.
import imp, sys sys.path.insert(0, './shellsdir') def module_import(mod_name): fp, p, d = imp.find_module(mod_name) py_mod = imp.load_module(mod_name, fp, p, d) def pick(value, window): if value == 'name_passed': c_mod = module_import('specific_name') c_mod.populate(window)
for script_select.py: updated relative path src.py
file.
import imp, sys sys.path.insert(0, './shellsdir/scriptsdir/') def module_import(mod_name): fp, p, d = imp.find_module(mod_name) py_mod = imp.load_module(mod_name, fp, p, d)
it may worth noting ../scriptsdir/
not work. however, had figured out earlier didn't think worked due long import time. forgot had 20 modules (for testing purpose) in test.py
file , that's caused delay.
Comments
Post a Comment