ImportError:没有名为的模块

时间:2014-06-21 05:24:34

标签: python importerror

我是新手。

问题陈述:

在目录sfdc_bulk我有2个文件 1)helper.py 2)sfdclogin.py

helper.py

import xml.dom.minidom as DOM


def getElemVal(xmlString,elemName):
    #tree = ET.parse('test.xml')
    #print tree
    dom = DOM.parseString(xmlString)
    val=dom.getElementsByTagName(elemName)
    ret=None
    if len(val) >0 :
        ret=val[0].toxml()
        #.replace('<' + ret + '>', '').replace('</' + ret + '>', '')
        ret=ret.replace('<' +elemName+ '>','').replace('</' + elemName + '>', '')
    return ret

sfdclogin.py

from helper import getElemVal

print getElemVal('<?xml version="1.0" encoding="UTF-8"?><foo>bar</foo>', 'foo')

在目录sfdc_bulk中 使用ubuntu终端:

python sfdclogin.py

它返回栏

但是在将sfdclogin文件修改为

之后
from sfdc_bulk.helper import getElemVal

print getElemVal('<?xml version="1.0" encoding="UTF-8"?><foo>bar</foo>', 'foo')

我收到了以下错误:

Traceback (most recent call last):
  File "sfdclogin.py", line 2, in <module>
    from sfdc_bulk.helper import getElemVal
ImportError: No module named sfdc_bulk.helper

1 个答案:

答案 0 :(得分:3)

如果两个文件都在同一目录中,请直接导入。你的第一次尝试:

from helper import getElemVal

已经是正确的了。为什么改变它?

除非您想将sfdc_bulk视为一个包。将其包含在PYTHONPATH中。在Windows中它就像:

$ set PYTHONPATH=%PYTHONPATH%;C:\your\directory\sfdc_bulk

要在Ubuntu中使用,请查看this answer