Python ImportError

时间:2012-11-23 00:14:41

标签: python module importerror

$ bin/python src/app/utils/loader.py newTasks checkForStuff 
Traceback (most recent call last):
  File "bin/python", line 135, in <module>
    execfile(__file__)
  File "src/app/utils/loader.py", line 154, in <module>
    module = __import__(args.module)
ImportError: No module named newTasks

来自以下loader.py:

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='Runs python')
    parser.add_argument('module', metavar='module', help="the target module")
    args = parser.parse_args()
    module = __import__(args.module)

newTasks.py与loader.py位于同一目录中。它适用于我的开发盒,我做了一个svn导出到分期,上面发生了。有什么指针吗?

只有我能解决的重大差异才是这次我用完了virtualenv。

编辑: 我将命令行更改为:

$ bin/python src/app/utils/loader.py utils.newTasks checkForStuff 

并且发现模块没问题。但我的下一个命令是调用其中一个模块函数checkForStuff

parser.add_argument('func',metavar='function', help="the target function name")
...
func_param = getattr(module,args.func)

现在它找不到该功能?

Traceback (most recent call last):
  File "bin/python", line 135, in <module>
    execfile(__file__)
  File "src/app/utils/loader.py", line 156, in <module>
    func_param = getattr(module,args.func)
AttributeError: 'module' object has no attribute 'checkForStuff'

如果我进入bin / python:

>>> import utils.newTasks as nt
>>> nt.checkForStuff
<function checkForStuff at 0x29b2f50>

这很烦人!

1 个答案:

答案 0 :(得分:1)

bin/python不是登台机器上的python二进制文件。检查它是否像普通的python一样将脚本目录插入到sys.path中。